@microsoft/terraform-cdk-constructs 2.2.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +64029 -35477
- package/API.md +89314 -49618
- package/README.md +15 -0
- package/cdktf.json +1 -1
- 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-schemas.d.ts +1 -1
- package/lib/azure-containerapps/lib/container-app-environment-schemas.js +2 -2
- package/lib/azure-containerapps/lib/container-app-environment.js +1 -1
- package/lib/azure-containerapps/lib/container-app-schemas.d.ts +1 -1
- package/lib/azure-containerapps/lib/container-app-schemas.js +2 -2
- 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 +4 -4
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +7 -7
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +3 -3
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +7 -7
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +5 -5
- 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
package/README.md
CHANGED
|
@@ -36,6 +36,7 @@ With AZAPI L2 Constructs, you get the following benefits:
|
|
|
36
36
|
| [Virtual Machines](./src/azure-virtualmachine/README.md) | 2024-07-01, 2024-11-01, 2025-04-01 | ✅ Built-in | ✅ Available |
|
|
37
37
|
| [AKS Clusters](./src/azure-aks/README.md) | 2025-05-01, 2025-07-01, 2025-08-01 | ✅ Built-in | ✅ Available |
|
|
38
38
|
| [Virtual Machine Scale Sets](./src/azure-vmss/README.md) | 2025-01-02, 2025-02-01, 2025-04-01 | ✅ Built-in | ✅ Available |
|
|
39
|
+
| [Static Web Apps](./src/azure-staticwebapp/README.md) | 2022-03-01, 2023-12-01, 2024-04-01 | ❌ Not yet | ✅ Available |
|
|
39
40
|
|
|
40
41
|
### Networking
|
|
41
42
|
|
|
@@ -55,6 +56,7 @@ With AZAPI L2 Constructs, you get the following benefits:
|
|
|
55
56
|
| [Metric Alerts](./src/azure-metricalert/README.md) | 2018-03-01 | ✅ Available |
|
|
56
57
|
| [Activity Log Alerts](./src/azure-activitylogalert/README.md) | 2020-10-01 | ✅ Available |
|
|
57
58
|
| [Diagnostic Settings](./src/azure-diagnosticsettings/README.md) | 2016-09-01, 2021-05-01-preview | ✅ Available |
|
|
59
|
+
| [Application Insights](./src/azure-applicationinsights/README.md) | 2020-02-02 | ✅ Available |
|
|
58
60
|
|
|
59
61
|
### Foundation
|
|
60
62
|
|
|
@@ -62,6 +64,19 @@ With AZAPI L2 Constructs, you get the following benefits:
|
|
|
62
64
|
|---------|-------------|--------|
|
|
63
65
|
| [Resource Groups](./src/azure-resourcegroup/README.md) | 2024-11-01, 2025-01-01, 2025-03-01 | ✅ Available |
|
|
64
66
|
| [Storage Accounts](./src/azure-storageaccount/README.md) | 2023-01-01, 2023-05-01, 2024-01-01 | ✅ Available |
|
|
67
|
+
| [Key Vaults](./src/azure-keyvault/README.md) | 2023-02-01, 2023-07-01, 2024-11-01 | ✅ Available |
|
|
68
|
+
|
|
69
|
+
### Database
|
|
70
|
+
|
|
71
|
+
| Service | API Versions | Status |
|
|
72
|
+
|---------|-------------|--------|
|
|
73
|
+
| [Cosmos DB Accounts](./src/azure-cosmosdb/README.md) | 2023-11-15, 2024-05-15, 2024-08-15 | ✅ Available |
|
|
74
|
+
|
|
75
|
+
### Messaging & Integration
|
|
76
|
+
|
|
77
|
+
| Service | API Versions | Status |
|
|
78
|
+
|---------|-------------|--------|
|
|
79
|
+
| [Event Hubs](./src/azure-eventhub/README.md) | 2021-11-01, 2024-01-01 | ✅ Available |
|
|
65
80
|
|
|
66
81
|
## Quick Example
|
|
67
82
|
|
package/cdktf.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"language": "typescript",
|
|
3
3
|
"app": "npx ts-node ./src/examples/AzureResourceGroup.ts",
|
|
4
|
-
"terraformProviders": ["Azure/azapi@~> 2.7
|
|
4
|
+
"terraformProviders": ["Azure/azapi@~> 2.7","random@~> 3.5.1"],
|
|
5
5
|
"projectId": "1b5f16bd-67ac-4af6-a33f-7bcafff141eb",
|
|
6
6
|
"context": {
|
|
7
7
|
"excludeStackIdFromLogicalIds": "true",
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
# Design: Monthly Azure API Version Update Pipeline
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
This project maintains ~31 Azure AZAPI constructs, each with hand-curated `*-schemas.ts` files defining `VersionConfig[]` arrays for supported API versions. Today, discovering and adding new Azure API versions is entirely manual. This pipeline automates that process end-to-end: discover new stable versions monthly, generate accurate schema updates using AI, run tests, and create a PR.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Architecture Overview
|
|
10
|
+
|
|
11
|
+
```
|
|
12
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
13
|
+
│ Monthly Cron (15th of each month) │
|
|
14
|
+
│ .github/workflows/azure-version-update.yml │
|
|
15
|
+
├─────────────────────────────────────────────────────────────┤
|
|
16
|
+
│ │
|
|
17
|
+
│ Job 1: discover │
|
|
18
|
+
│ ├─ Scan src/azure-*/lib/*-schemas.ts for resource types │
|
|
19
|
+
│ ├─ Query ARM API for available stable versions │
|
|
20
|
+
│ ├─ Diff against known versions │
|
|
21
|
+
│ └─ Output version-manifest.json │
|
|
22
|
+
│ │
|
|
23
|
+
│ Job 2: generate (via GitHub Copilot Coding Agent) │
|
|
24
|
+
│ ├─ Create a GitHub Issue with version update instructions │
|
|
25
|
+
│ ├─ Assign to Copilot Coding Agent │
|
|
26
|
+
│ ├─ Agent fetches Azure REST API specs from GitHub │
|
|
27
|
+
│ ├─ Agent generates new VersionConfig + ApiSchema entries │
|
|
28
|
+
│ ├─ Agent updates defaultVersion() in construct files │
|
|
29
|
+
│ ├─ Agent updates unit test version assertions │
|
|
30
|
+
│ └─ Agent creates a PR with all changes │
|
|
31
|
+
│ │
|
|
32
|
+
│ Job 3: test (triggered by PR creation) │
|
|
33
|
+
│ ├─ Existing build.yml runs on the PR │
|
|
34
|
+
│ ├─ Unit tests via npx projen build │
|
|
35
|
+
│ ├─ Integration tests (continue-on-error) │
|
|
36
|
+
│ └─ Results visible on the PR │
|
|
37
|
+
│ │
|
|
38
|
+
└─────────────────────────────────────────────────────────────┘
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Approach: GitHub Copilot Coding Agent
|
|
44
|
+
|
|
45
|
+
Instead of writing custom code generation scripts that call Claude via GitHub Models API, we leverage the **GitHub Copilot Coding Agent** -- GitHub's built-in autonomous coding agent that can be assigned to issues and creates PRs autonomously.
|
|
46
|
+
|
|
47
|
+
### Why Copilot Coding Agent?
|
|
48
|
+
|
|
49
|
+
| Aspect | Custom Scripts + GitHub Models API | Copilot Coding Agent |
|
|
50
|
+
|--------|-----------------------------------|----------------------|
|
|
51
|
+
| Code generation | Custom TypeScript scripts with regex/template logic | Agent reads codebase, understands patterns, generates code |
|
|
52
|
+
| Maintenance burden | Must maintain spec-mapping, prompt engineering, file insertion logic | Zero maintenance -- agent adapts to project changes |
|
|
53
|
+
| Test execution | Custom workflow jobs for running tests | Agent can run tests itself and iterate on failures |
|
|
54
|
+
| PR creation | peter-evans/create-pull-request | Agent creates PR natively |
|
|
55
|
+
| Edge cases | Must handle every schema variation in code | Agent handles variations naturally via codebase understanding |
|
|
56
|
+
| New secret required | GITHUB_MODELS_TOKEN (PAT with models:read) | None -- uses existing Copilot license |
|
|
57
|
+
| Self-healing | Fails on unexpected schema patterns | Agent can read errors and fix its own code |
|
|
58
|
+
|
|
59
|
+
### How It Works
|
|
60
|
+
|
|
61
|
+
1. **Discovery script** (`scripts/azure-version-updater/discover.ts`) runs on a monthly cron and produces a `version-manifest.json` listing new API versions per construct
|
|
62
|
+
2. **Workflow creates a GitHub Issue** with structured instructions for the Copilot Coding Agent, including:
|
|
63
|
+
- The version manifest (which constructs need updates, which new versions)
|
|
64
|
+
- Links to Azure REST API spec files on GitHub for each new version
|
|
65
|
+
- Instructions referencing the project's schema conventions and a reference file
|
|
66
|
+
3. **Copilot Coding Agent is assigned** to the issue via `gh issue edit --add-assignee @copilot`
|
|
67
|
+
4. **The agent autonomously**:
|
|
68
|
+
- Reads the existing schema files to understand the pattern
|
|
69
|
+
- Fetches Azure REST API specs to understand property changes
|
|
70
|
+
- Generates new `ApiSchema` and `VersionConfig` entries
|
|
71
|
+
- Updates `defaultVersion()` in construct files
|
|
72
|
+
- Updates unit tests
|
|
73
|
+
- Creates a PR
|
|
74
|
+
5. **Existing build.yml** runs on the PR (unit tests, lint, build)
|
|
75
|
+
6. **A separate integration test job** can be triggered on the PR
|
|
76
|
+
|
|
77
|
+
---
|
|
78
|
+
|
|
79
|
+
## Files to Create
|
|
80
|
+
|
|
81
|
+
### 1. `scripts/azure-version-updater/discover.ts`
|
|
82
|
+
|
|
83
|
+
**Purpose**: Scan constructs, query Azure ARM, produce a manifest of new versions.
|
|
84
|
+
|
|
85
|
+
**Logic**:
|
|
86
|
+
1. Glob `src/azure-*/lib/*-schemas.ts`
|
|
87
|
+
2. For each file, regex-extract:
|
|
88
|
+
- Resource type constant: `export const \w+_TYPE\s*=\s*"(.+)"`
|
|
89
|
+
- Schema prefix: `export const (\w+)_TYPE`
|
|
90
|
+
- Known versions: all `version:\s*"(\d{4}-\d{2}-\d{2})"` strings
|
|
91
|
+
3. Dedupe by namespace, batch ARM API calls:
|
|
92
|
+
`GET https://management.azure.com/providers/{namespace}?api-version=2024-09-01`
|
|
93
|
+
4. For each resource type, filter to stable versions (no `-preview`), find versions newer than the latest known
|
|
94
|
+
5. Write `version-manifest.json`:
|
|
95
|
+
|
|
96
|
+
```json
|
|
97
|
+
{
|
|
98
|
+
"updates": [
|
|
99
|
+
{
|
|
100
|
+
"schemaFile": "src/azure-resourcegroup/lib/resource-group-schemas.ts",
|
|
101
|
+
"constructFile": "src/azure-resourcegroup/lib/resource-group.ts",
|
|
102
|
+
"testFile": "src/azure-resourcegroup/test/resource-group.spec.ts",
|
|
103
|
+
"resourceType": "Microsoft.Resources/resourceGroups",
|
|
104
|
+
"namespace": "Microsoft.Resources",
|
|
105
|
+
"resourceTypeName": "resourceGroups",
|
|
106
|
+
"prefix": "RESOURCE_GROUP",
|
|
107
|
+
"knownVersions": ["2024-11-01", "2025-01-01", "2025-03-01"],
|
|
108
|
+
"newVersions": ["2025-05-01", "2025-07-01"],
|
|
109
|
+
"specUrls": {
|
|
110
|
+
"2025-05-01": "https://github.com/Azure/azure-rest-api-specs/tree/main/specification/resources/resource-manager/Microsoft.Resources/stable/2025-05-01",
|
|
111
|
+
"2025-07-01": "https://github.com/Azure/azure-rest-api-specs/tree/main/specification/resources/resource-manager/Microsoft.Resources/stable/2025-07-01"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"summary": { "totalConstructs": 31, "constructsWithUpdates": 3 }
|
|
116
|
+
}
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 2. `scripts/azure-version-updater/spec-mapping.ts`
|
|
120
|
+
|
|
121
|
+
**Purpose**: Map Azure resource types to their REST API spec paths on GitHub.
|
|
122
|
+
|
|
123
|
+
Contains:
|
|
124
|
+
- `SPEC_PATH_MAP`: explicit mapping from resource type to spec directory path
|
|
125
|
+
- Convention-based fallback for unmapped types
|
|
126
|
+
- Helper to build spec URLs for the issue body
|
|
127
|
+
|
|
128
|
+
### 3. `.github/workflows/azure-version-update.yml`
|
|
129
|
+
|
|
130
|
+
**Purpose**: Monthly cron workflow that discovers versions and creates a Copilot Agent issue.
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
name: azure-version-update
|
|
134
|
+
on:
|
|
135
|
+
workflow_dispatch: {}
|
|
136
|
+
schedule:
|
|
137
|
+
- cron: "0 10 15 * *" # 15th of month, 10:00 UTC
|
|
138
|
+
|
|
139
|
+
jobs:
|
|
140
|
+
discover:
|
|
141
|
+
name: Discover New API Versions
|
|
142
|
+
runs-on: ubuntu-latest
|
|
143
|
+
environment: Build
|
|
144
|
+
permissions:
|
|
145
|
+
contents: read
|
|
146
|
+
id-token: write
|
|
147
|
+
issues: write
|
|
148
|
+
steps:
|
|
149
|
+
- uses: actions/checkout@v4
|
|
150
|
+
- uses: actions/setup-node@v4
|
|
151
|
+
with: { node-version: "20.16.0" }
|
|
152
|
+
- uses: azure/login@v2
|
|
153
|
+
with:
|
|
154
|
+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
|
|
155
|
+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
|
|
156
|
+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
|
|
157
|
+
- run: yarn install --check-files --frozen-lockfile
|
|
158
|
+
- name: Discover versions
|
|
159
|
+
id: discover
|
|
160
|
+
run: |
|
|
161
|
+
npx ts-node scripts/azure-version-updater/discover.ts > version-manifest.json
|
|
162
|
+
echo "has_updates=$(jq 'if .updates | length > 0 then "true" else "false" end' -r version-manifest.json)" >> "$GITHUB_OUTPUT"
|
|
163
|
+
- name: Create Copilot Agent issue
|
|
164
|
+
if: steps.discover.outputs.has_updates == 'true'
|
|
165
|
+
env:
|
|
166
|
+
GH_TOKEN: ${{ secrets.PROJEN_GITHUB_TOKEN }}
|
|
167
|
+
run: |
|
|
168
|
+
npx ts-node scripts/azure-version-updater/create-issue.ts version-manifest.json | \
|
|
169
|
+
gh issue create \
|
|
170
|
+
--title "feat(azure): update API versions to latest stable ($(date +%Y-%m))" \
|
|
171
|
+
--body-file - \
|
|
172
|
+
--assignee copilot
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### 4. `scripts/azure-version-updater/create-issue.ts`
|
|
176
|
+
|
|
177
|
+
**Purpose**: Generate a well-structured GitHub Issue body that gives the Copilot Coding Agent all the context it needs.
|
|
178
|
+
|
|
179
|
+
The issue body will include:
|
|
180
|
+
- Summary of which constructs have new versions
|
|
181
|
+
- For each construct:
|
|
182
|
+
- The schema file path
|
|
183
|
+
- The construct file path
|
|
184
|
+
- The test file path
|
|
185
|
+
- Current latest version and new version(s)
|
|
186
|
+
- Link to Azure REST API spec for the new version
|
|
187
|
+
- Reference to the project conventions:
|
|
188
|
+
- "See `src/azure-resourcegroup/lib/resource-group-schemas.ts` as a reference for the schema pattern"
|
|
189
|
+
- "See `src/core-azure/lib/version-manager/interfaces/version-interfaces.ts` for the interfaces"
|
|
190
|
+
- Explicit instructions:
|
|
191
|
+
- "For each new version, create a new `ApiSchema` const and `VersionConfig` const following the naming convention `{PREFIX}_SCHEMA_{VERSION_UNDERSCORED}`"
|
|
192
|
+
- "Add the new version to the `ALL_*_VERSIONS` array"
|
|
193
|
+
- "Update `defaultVersion()` to return the newest version"
|
|
194
|
+
- "Update unit tests to include the new version in version list assertions and update latest version expectations"
|
|
195
|
+
- "Fetch the Azure REST API OpenAPI spec to identify any new or changed properties"
|
|
196
|
+
- "Run `npm test` to verify unit tests pass"
|
|
197
|
+
|
|
198
|
+
### 5. `.github/copilot-instructions.md` (update)
|
|
199
|
+
|
|
200
|
+
Add project-specific instructions for the Copilot Agent to understand the schema conventions, file structure, and coding patterns. This file is automatically read by Copilot when working on the repo.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Secrets Required
|
|
205
|
+
|
|
206
|
+
| Secret | Purpose | Status |
|
|
207
|
+
|--------|---------|--------|
|
|
208
|
+
| `AZURE_SUBSCRIPTION_ID` | ARM API calls for version discovery | Already exists |
|
|
209
|
+
| `AZURE_TENANT_ID` | Azure OIDC auth | Already exists |
|
|
210
|
+
| `AZURE_CLIENT_ID` | Azure OIDC auth | Already exists |
|
|
211
|
+
| `PROJEN_GITHUB_TOKEN` | Issue creation + Copilot Agent trigger | Already exists |
|
|
212
|
+
|
|
213
|
+
No new secrets needed -- the Copilot Coding Agent uses the organization's existing Copilot license.
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## Copilot Agent Issue Template
|
|
218
|
+
|
|
219
|
+
```markdown
|
|
220
|
+
## Azure API Version Update - {month} {year}
|
|
221
|
+
|
|
222
|
+
The following constructs have new stable Azure API versions available.
|
|
223
|
+
|
|
224
|
+
### Instructions
|
|
225
|
+
|
|
226
|
+
For each construct listed below:
|
|
227
|
+
1. Open the Azure REST API spec link to understand property changes
|
|
228
|
+
2. Read the existing schema file to understand the pattern
|
|
229
|
+
3. Create new `ApiSchema` and `VersionConfig` entries following the exact naming convention
|
|
230
|
+
4. Add the new entries to the `ALL_*_VERSIONS` array
|
|
231
|
+
5. Update `defaultVersion()` in the construct file to return the newest version
|
|
232
|
+
6. Update unit tests to include the new version
|
|
233
|
+
7. Run `npm test` to verify
|
|
234
|
+
|
|
235
|
+
**Reference files:**
|
|
236
|
+
- Schema pattern: `src/azure-resourcegroup/lib/resource-group-schemas.ts`
|
|
237
|
+
- Interfaces: `src/core-azure/lib/version-manager/interfaces/version-interfaces.ts`
|
|
238
|
+
|
|
239
|
+
### Updates
|
|
240
|
+
|
|
241
|
+
#### 1. Resource Group (`Microsoft.Resources/resourceGroups`)
|
|
242
|
+
- **Schema file**: `src/azure-resourcegroup/lib/resource-group-schemas.ts`
|
|
243
|
+
- **Construct file**: `src/azure-resourcegroup/lib/resource-group.ts`
|
|
244
|
+
- **Test file**: `src/azure-resourcegroup/test/resource-group.spec.ts`
|
|
245
|
+
- **Current latest**: `2025-03-01`
|
|
246
|
+
- **New versions**: `2025-05-01`
|
|
247
|
+
- **Azure REST API spec**: https://github.com/Azure/azure-rest-api-specs/tree/main/specification/resources/resource-manager/Microsoft.Resources/stable/2025-05-01
|
|
248
|
+
|
|
249
|
+
#### 2. ...
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
---
|
|
253
|
+
|
|
254
|
+
## Verification
|
|
255
|
+
|
|
256
|
+
1. **Local testing of discover.ts**: `az login && npx ts-node scripts/azure-version-updater/discover.ts`
|
|
257
|
+
2. **Issue creation dry run**: Review generated issue body before assigning to Copilot
|
|
258
|
+
3. **Copilot Agent behavior**: Monitor the agent's PR for correctness
|
|
259
|
+
4. **CI validation**: Existing build.yml runs unit tests on the PR
|
|
260
|
+
5. **Manual review**: A human reviews the PR before merging
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
264
|
+
## Implementation Order
|
|
265
|
+
|
|
266
|
+
1. `scripts/azure-version-updater/spec-mapping.ts` -- resource type to spec path mapping
|
|
267
|
+
2. `scripts/azure-version-updater/discover.ts` -- version discovery
|
|
268
|
+
3. `scripts/azure-version-updater/create-issue.ts` -- issue body generation
|
|
269
|
+
4. `.github/workflows/azure-version-update.yml` -- workflow
|
|
270
|
+
5. `.github/copilot-instructions.md` -- Copilot Agent context
|
|
271
|
+
6. Test locally with `workflow_dispatch`
|
|
@@ -168,7 +168,7 @@ class ActionGroup extends azapi_resource_1.AzapiResource {
|
|
|
168
168
|
}
|
|
169
169
|
exports.ActionGroup = ActionGroup;
|
|
170
170
|
_a = JSII_RTTI_SYMBOL_1;
|
|
171
|
-
ActionGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActionGroup", version: "2.
|
|
171
|
+
ActionGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActionGroup", version: "2.5.1" };
|
|
172
172
|
(() => {
|
|
173
173
|
azapi_resource_1.AzapiResource.registerSchemas(action_group_schemas_1.ACTION_GROUP_TYPE, action_group_schemas_1.ALL_ACTION_GROUP_VERSIONS);
|
|
174
174
|
})();
|
|
@@ -179,7 +179,7 @@ class ActivityLogAlert extends azapi_resource_1.AzapiResource {
|
|
|
179
179
|
}
|
|
180
180
|
exports.ActivityLogAlert = ActivityLogAlert;
|
|
181
181
|
_a = JSII_RTTI_SYMBOL_1;
|
|
182
|
-
ActivityLogAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActivityLogAlert", version: "2.
|
|
182
|
+
ActivityLogAlert[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ActivityLogAlert", version: "2.5.1" };
|
|
183
183
|
(() => {
|
|
184
184
|
azapi_resource_1.AzapiResource.registerSchemas(activity_log_alert_schemas_1.ACTIVITY_LOG_ALERT_TYPE, activity_log_alert_schemas_1.ALL_ACTIVITY_LOG_ALERT_VERSIONS);
|
|
185
185
|
})();
|
|
@@ -459,7 +459,7 @@ class AksCluster extends azapi_resource_1.AzapiResource {
|
|
|
459
459
|
}
|
|
460
460
|
exports.AksCluster = AksCluster;
|
|
461
461
|
_a = JSII_RTTI_SYMBOL_1;
|
|
462
|
-
AksCluster[_a] = { fqn: "@microsoft/terraform-cdk-constructs.AksCluster", version: "2.
|
|
462
|
+
AksCluster[_a] = { fqn: "@microsoft/terraform-cdk-constructs.AksCluster", version: "2.5.1" };
|
|
463
463
|
(() => {
|
|
464
464
|
azapi_resource_1.AzapiResource.registerSchemas(aks_cluster_schemas_1.AKS_CLUSTER_TYPE, aks_cluster_schemas_1.ALL_AKS_CLUSTER_VERSIONS);
|
|
465
465
|
})();
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Azure Application Insights module
|
|
4
|
+
*
|
|
5
|
+
* This module provides constructs for creating and managing Azure Application
|
|
6
|
+
* Insights components.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
20
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
__exportStar(require("./lib"), exports);
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtYXBwbGljYXRpb25pbnNpZ2h0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7O0dBS0c7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFSCx3Q0FBc0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIEFwcGxpY2F0aW9uIEluc2lnaHRzIG1vZHVsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGNvbnN0cnVjdHMgZm9yIGNyZWF0aW5nIGFuZCBtYW5hZ2luZyBBenVyZSBBcHBsaWNhdGlvblxuICogSW5zaWdodHMgY29tcG9uZW50cy5cbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWJcIjtcbiJdfQ==
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API schemas for Azure Application Insights across all supported versions
|
|
3
|
+
*
|
|
4
|
+
* This file defines the complete API schemas for Microsoft.Insights/components
|
|
5
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
6
|
+
* framework for validation, transformation, and version management.
|
|
7
|
+
*/
|
|
8
|
+
import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
9
|
+
/**
|
|
10
|
+
* API Schema for Application Insights version 2020-02-02
|
|
11
|
+
*
|
|
12
|
+
* This is the latest stable API version for workspace-based Application Insights.
|
|
13
|
+
* Workspace-based components require a Log Analytics workspace and replace the
|
|
14
|
+
* classic Application Insights resource (which was retired on Feb 29, 2024).
|
|
15
|
+
*/
|
|
16
|
+
export declare const APPLICATION_INSIGHTS_SCHEMA_2020_02_02: ApiSchema;
|
|
17
|
+
/**
|
|
18
|
+
* Version configuration for Application Insights 2020-02-02
|
|
19
|
+
*/
|
|
20
|
+
export declare const APPLICATION_INSIGHTS_VERSION_2020_02_02: VersionConfig;
|
|
21
|
+
/**
|
|
22
|
+
* All supported Application Insights versions for registration
|
|
23
|
+
* Ordered with latest stable version first
|
|
24
|
+
*/
|
|
25
|
+
export declare const ALL_APPLICATION_INSIGHTS_VERSIONS: VersionConfig[];
|
|
26
|
+
/**
|
|
27
|
+
* Resource type constant
|
|
28
|
+
*/
|
|
29
|
+
export declare const APPLICATION_INSIGHTS_TYPE = "Microsoft.Insights/components";
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Application Insights across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Insights/components
|
|
6
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
7
|
+
* framework for validation, transformation, and version management.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.APPLICATION_INSIGHTS_TYPE = exports.ALL_APPLICATION_INSIGHTS_VERSIONS = exports.APPLICATION_INSIGHTS_VERSION_2020_02_02 = exports.APPLICATION_INSIGHTS_SCHEMA_2020_02_02 = void 0;
|
|
11
|
+
const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
|
|
12
|
+
// =============================================================================
|
|
13
|
+
// COMMON PROPERTY DEFINITIONS
|
|
14
|
+
// =============================================================================
|
|
15
|
+
/**
|
|
16
|
+
* Common property definitions shared across all Application Insights versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_APPLICATION_INSIGHTS_PROPERTIES = {
|
|
19
|
+
name: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: true,
|
|
22
|
+
description: "Name of the Application Insights component",
|
|
23
|
+
validation: [
|
|
24
|
+
{
|
|
25
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
26
|
+
message: "Name is required",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
30
|
+
value: "^[a-zA-Z0-9][a-zA-Z0-9-_.()]{0,258}[a-zA-Z0-9_()]$",
|
|
31
|
+
message: "Application Insights name must be 1-260 characters and contain only letters, numbers, hyphens, underscores, periods, and parentheses",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
location: {
|
|
36
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
37
|
+
required: true,
|
|
38
|
+
description: "Azure region where the Application Insights component will be created",
|
|
39
|
+
},
|
|
40
|
+
applicationType: {
|
|
41
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
42
|
+
required: true,
|
|
43
|
+
description: "Type of application being monitored (web, java, other, etc.)",
|
|
44
|
+
defaultValue: "web",
|
|
45
|
+
},
|
|
46
|
+
workspaceResourceId: {
|
|
47
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
48
|
+
required: true,
|
|
49
|
+
description: "Resource ID of the Log Analytics workspace to associate with this workspace-based Application Insights component",
|
|
50
|
+
},
|
|
51
|
+
retentionInDays: {
|
|
52
|
+
dataType: version_interfaces_1.PropertyType.NUMBER,
|
|
53
|
+
required: false,
|
|
54
|
+
defaultValue: 90,
|
|
55
|
+
description: "Data retention in days. Allowed values: 30, 60, 90, 120, 180, 270, 365, 550, 730. Default is 90.",
|
|
56
|
+
},
|
|
57
|
+
samplingPercentage: {
|
|
58
|
+
dataType: version_interfaces_1.PropertyType.NUMBER,
|
|
59
|
+
required: false,
|
|
60
|
+
description: "Telemetry sampling percentage (0-100)",
|
|
61
|
+
},
|
|
62
|
+
disableIpMasking: {
|
|
63
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
64
|
+
required: false,
|
|
65
|
+
description: "Whether IP address masking is disabled",
|
|
66
|
+
},
|
|
67
|
+
publicNetworkAccessForIngestion: {
|
|
68
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
69
|
+
required: false,
|
|
70
|
+
description: "Public network access for data ingestion: Enabled or Disabled",
|
|
71
|
+
},
|
|
72
|
+
publicNetworkAccessForQuery: {
|
|
73
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
74
|
+
required: false,
|
|
75
|
+
description: "Public network access for queries: Enabled or Disabled",
|
|
76
|
+
},
|
|
77
|
+
disableLocalAuth: {
|
|
78
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
79
|
+
required: false,
|
|
80
|
+
description: "Whether local (key-based) authentication is disabled",
|
|
81
|
+
},
|
|
82
|
+
forceCustomerStorageForProfiler: {
|
|
83
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
84
|
+
required: false,
|
|
85
|
+
description: "Force users to create their own storage account for profiler and debugger",
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
// =============================================================================
|
|
89
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
90
|
+
// =============================================================================
|
|
91
|
+
/**
|
|
92
|
+
* API Schema for Application Insights version 2020-02-02
|
|
93
|
+
*
|
|
94
|
+
* This is the latest stable API version for workspace-based Application Insights.
|
|
95
|
+
* Workspace-based components require a Log Analytics workspace and replace the
|
|
96
|
+
* classic Application Insights resource (which was retired on Feb 29, 2024).
|
|
97
|
+
*/
|
|
98
|
+
exports.APPLICATION_INSIGHTS_SCHEMA_2020_02_02 = {
|
|
99
|
+
resourceType: "Microsoft.Insights/components",
|
|
100
|
+
version: "2020-02-02",
|
|
101
|
+
properties: {
|
|
102
|
+
...COMMON_APPLICATION_INSIGHTS_PROPERTIES,
|
|
103
|
+
},
|
|
104
|
+
required: ["name", "location", "applicationType", "workspaceResourceId"],
|
|
105
|
+
optional: [
|
|
106
|
+
"retentionInDays",
|
|
107
|
+
"samplingPercentage",
|
|
108
|
+
"disableIpMasking",
|
|
109
|
+
"publicNetworkAccessForIngestion",
|
|
110
|
+
"publicNetworkAccessForQuery",
|
|
111
|
+
"disableLocalAuth",
|
|
112
|
+
"forceCustomerStorageForProfiler",
|
|
113
|
+
],
|
|
114
|
+
deprecated: [],
|
|
115
|
+
transformationRules: {},
|
|
116
|
+
validationRules: [
|
|
117
|
+
{
|
|
118
|
+
property: "name",
|
|
119
|
+
rules: [
|
|
120
|
+
{
|
|
121
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
122
|
+
message: "Name is required for Application Insights",
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
// =============================================================================
|
|
129
|
+
// VERSION CONFIGURATIONS
|
|
130
|
+
// =============================================================================
|
|
131
|
+
/**
|
|
132
|
+
* Version configuration for Application Insights 2020-02-02
|
|
133
|
+
*/
|
|
134
|
+
exports.APPLICATION_INSIGHTS_VERSION_2020_02_02 = {
|
|
135
|
+
version: "2020-02-02",
|
|
136
|
+
schema: exports.APPLICATION_INSIGHTS_SCHEMA_2020_02_02,
|
|
137
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
138
|
+
releaseDate: "2020-02-02",
|
|
139
|
+
deprecationDate: undefined,
|
|
140
|
+
sunsetDate: undefined,
|
|
141
|
+
breakingChanges: [],
|
|
142
|
+
migrationGuide: "/docs/application-insights/migration-2020-02-02",
|
|
143
|
+
changeLog: [
|
|
144
|
+
{
|
|
145
|
+
changeType: "updated",
|
|
146
|
+
description: "Latest stable API version for workspace-based Application Insights",
|
|
147
|
+
breaking: false,
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* All supported Application Insights versions for registration
|
|
153
|
+
* Ordered with latest stable version first
|
|
154
|
+
*/
|
|
155
|
+
exports.ALL_APPLICATION_INSIGHTS_VERSIONS = [
|
|
156
|
+
exports.APPLICATION_INSIGHTS_VERSION_2020_02_02,
|
|
157
|
+
];
|
|
158
|
+
/**
|
|
159
|
+
* Resource type constant
|
|
160
|
+
*/
|
|
161
|
+
exports.APPLICATION_INSIGHTS_TYPE = "Microsoft.Insights/components";
|
|
162
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24taW5zaWdodHMtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1hcHBsaWNhdGlvbmluc2lnaHRzL2xpYi9hcHBsaWNhdGlvbi1pbnNpZ2h0cy1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0sc0NBQXNDLEdBRXhDO0lBQ0YsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSw0Q0FBNEM7UUFDekQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxrQkFBa0I7YUFDNUI7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFBYTtnQkFDMUMsS0FBSyxFQUFFLG9EQUFvRDtnQkFDM0QsT0FBTyxFQUNMLHNJQUFzSTthQUN6STtTQUNGO0tBQ0Y7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULHVFQUF1RTtLQUMxRTtJQUNELGVBQWUsRUFBRTtRQUNmLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsOERBQThEO1FBQzNFLFlBQVksRUFBRSxLQUFLO0tBQ3BCO0lBQ0QsbUJBQW1CLEVBQUU7UUFDbkIsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCxrSEFBa0g7S0FDckg7SUFDRCxlQUFlLEVBQUU7UUFDZixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUNULGtHQUFrRztLQUNyRztJQUNELGtCQUFrQixFQUFFO1FBQ2xCLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsdUNBQXVDO0tBQ3JEO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsT0FBTztRQUM5QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSx3Q0FBd0M7S0FDdEQ7SUFDRCwrQkFBK0IsRUFBRTtRQUMvQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUNULCtEQUErRDtLQUNsRTtJQUNELDJCQUEyQixFQUFFO1FBQzNCLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQUUsd0RBQXdEO0tBQ3RFO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsT0FBTztRQUM5QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxzREFBc0Q7S0FDcEU7SUFDRCwrQkFBK0IsRUFBRTtRQUMvQixRQUFRLEVBQUUsaUNBQVksQ0FBQyxPQUFPO1FBQzlCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUNULDJFQUEyRTtLQUM5RTtDQUNGLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYsMkJBQTJCO0FBQzNCLGdGQUFnRjtBQUVoRjs7Ozs7O0dBTUc7QUFDVSxRQUFBLHNDQUFzQyxHQUFjO0lBQy9ELFlBQVksRUFBRSwrQkFBK0I7SUFDN0MsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFO1FBQ1YsR0FBRyxzQ0FBc0M7S0FDMUM7SUFDRCxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixDQUFDO0lBQ3hFLFFBQVEsRUFBRTtRQUNSLGlCQUFpQjtRQUNqQixvQkFBb0I7UUFDcEIsa0JBQWtCO1FBQ2xCLGlDQUFpQztRQUNqQyw2QkFBNkI7UUFDN0Isa0JBQWtCO1FBQ2xCLGlDQUFpQztLQUNsQztJQUNELFVBQVUsRUFBRSxFQUFFO0lBQ2QsbUJBQW1CLEVBQUUsRUFBRTtJQUN2QixlQUFlLEVBQUU7UUFDZjtZQUNFLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDJDQUEyQztpQkFDckQ7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLHVDQUF1QyxHQUFrQjtJQUNwRSxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsOENBQXNDO0lBQzlDLFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSxpREFBaUQ7SUFDakUsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsU0FBUztZQUNyQixXQUFXLEVBQ1Qsb0VBQW9FO1lBQ3RFLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBb0I7SUFDaEUsK0NBQXVDO0NBQ3hDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEseUJBQXlCLEdBQUcsK0JBQStCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lkluc2lnaHRzL2NvbXBvbmVudHNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIEFwcGxpY2F0aW9uIEluc2lnaHRzIHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9BUFBMSUNBVElPTl9JTlNJR0hUU19QUk9QRVJUSUVTOiB7XG4gIFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbjtcbn0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBBcHBsaWNhdGlvbiBJbnNpZ2h0cyBjb21wb25lbnRcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV1bYS16QS1aMC05LV8uKCldezAsMjU4fVthLXpBLVowLTlfKCldJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiQXBwbGljYXRpb24gSW5zaWdodHMgbmFtZSBtdXN0IGJlIDEtMjYwIGNoYXJhY3RlcnMgYW5kIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBudW1iZXJzLCBoeXBoZW5zLCB1bmRlcnNjb3JlcywgcGVyaW9kcywgYW5kIHBhcmVudGhlc2VzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGxvY2F0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgQXBwbGljYXRpb24gSW5zaWdodHMgY29tcG9uZW50IHdpbGwgYmUgY3JlYXRlZFwiLFxuICB9LFxuICBhcHBsaWNhdGlvblR5cGU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJUeXBlIG9mIGFwcGxpY2F0aW9uIGJlaW5nIG1vbml0b3JlZCAod2ViLCBqYXZhLCBvdGhlciwgZXRjLilcIixcbiAgICBkZWZhdWx0VmFsdWU6IFwid2ViXCIsXG4gIH0sXG4gIHdvcmtzcGFjZVJlc291cmNlSWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiUmVzb3VyY2UgSUQgb2YgdGhlIExvZyBBbmFseXRpY3Mgd29ya3NwYWNlIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgd29ya3NwYWNlLWJhc2VkIEFwcGxpY2F0aW9uIEluc2lnaHRzIGNvbXBvbmVudFwiLFxuICB9LFxuICByZXRlbnRpb25JbkRheXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk5VTUJFUixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiA5MCxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiRGF0YSByZXRlbnRpb24gaW4gZGF5cy4gQWxsb3dlZCB2YWx1ZXM6IDMwLCA2MCwgOTAsIDEyMCwgMTgwLCAyNzAsIDM2NSwgNTUwLCA3MzAuIERlZmF1bHQgaXMgOTAuXCIsXG4gIH0sXG4gIHNhbXBsaW5nUGVyY2VudGFnZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuTlVNQkVSLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJUZWxlbWV0cnkgc2FtcGxpbmcgcGVyY2VudGFnZSAoMC0xMDApXCIsXG4gIH0sXG4gIGRpc2FibGVJcE1hc2tpbmc6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIldoZXRoZXIgSVAgYWRkcmVzcyBtYXNraW5nIGlzIGRpc2FibGVkXCIsXG4gIH0sXG4gIHB1YmxpY05ldHdvcmtBY2Nlc3NGb3JJbmdlc3Rpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgZGF0YSBpbmdlc3Rpb246IEVuYWJsZWQgb3IgRGlzYWJsZWRcIixcbiAgfSxcbiAgcHVibGljTmV0d29ya0FjY2Vzc0ZvclF1ZXJ5OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgcXVlcmllczogRW5hYmxlZCBvciBEaXNhYmxlZFwiLFxuICB9LFxuICBkaXNhYmxlTG9jYWxBdXRoOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5CT09MRUFOLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJXaGV0aGVyIGxvY2FsIChrZXktYmFzZWQpIGF1dGhlbnRpY2F0aW9uIGlzIGRpc2FibGVkXCIsXG4gIH0sXG4gIGZvcmNlQ3VzdG9tZXJTdG9yYWdlRm9yUHJvZmlsZXI6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkJPT0xFQU4sXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJGb3JjZSB1c2VycyB0byBjcmVhdGUgdGhlaXIgb3duIHN0b3JhZ2UgYWNjb3VudCBmb3IgcHJvZmlsZXIgYW5kIGRlYnVnZ2VyXCIsXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIEFwcGxpY2F0aW9uIEluc2lnaHRzIHZlcnNpb24gMjAyMC0wMi0wMlxuICpcbiAqIFRoaXMgaXMgdGhlIGxhdGVzdCBzdGFibGUgQVBJIHZlcnNpb24gZm9yIHdvcmtzcGFjZS1iYXNlZCBBcHBsaWNhdGlvbiBJbnNpZ2h0cy5cbiAqIFdvcmtzcGFjZS1iYXNlZCBjb21wb25lbnRzIHJlcXVpcmUgYSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZSBhbmQgcmVwbGFjZSB0aGVcbiAqIGNsYXNzaWMgQXBwbGljYXRpb24gSW5zaWdodHMgcmVzb3VyY2UgKHdoaWNoIHdhcyByZXRpcmVkIG9uIEZlYiAyOSwgMjAyNCkuXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9JTlNJR0hUU19TQ0hFTUFfMjAyMF8wMl8wMjogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lkluc2lnaHRzL2NvbXBvbmVudHNcIixcbiAgdmVyc2lvbjogXCIyMDIwLTAyLTAyXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fQVBQTElDQVRJT05fSU5TSUdIVFNfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcIm5hbWVcIiwgXCJsb2NhdGlvblwiLCBcImFwcGxpY2F0aW9uVHlwZVwiLCBcIndvcmtzcGFjZVJlc291cmNlSWRcIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJyZXRlbnRpb25JbkRheXNcIixcbiAgICBcInNhbXBsaW5nUGVyY2VudGFnZVwiLFxuICAgIFwiZGlzYWJsZUlwTWFza2luZ1wiLFxuICAgIFwicHVibGljTmV0d29ya0FjY2Vzc0ZvckluZ2VzdGlvblwiLFxuICAgIFwicHVibGljTmV0d29ya0FjY2Vzc0ZvclF1ZXJ5XCIsXG4gICAgXCJkaXNhYmxlTG9jYWxBdXRoXCIsXG4gICAgXCJmb3JjZUN1c3RvbWVyU3RvcmFnZUZvclByb2ZpbGVyXCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBBcHBsaWNhdGlvbiBJbnNpZ2h0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBBcHBsaWNhdGlvbiBJbnNpZ2h0cyAyMDIwLTAyLTAyXG4gKi9cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9JTlNJR0hUU19WRVJTSU9OXzIwMjBfMDJfMDI6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMC0wMi0wMlwiLFxuICBzY2hlbWE6IEFQUExJQ0FUSU9OX0lOU0lHSFRTX1NDSEVNQV8yMDIwXzAyXzAyLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIwLTAyLTAyXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL2FwcGxpY2F0aW9uLWluc2lnaHRzL21pZ3JhdGlvbi0yMDIwLTAyLTAyXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiTGF0ZXN0IHN0YWJsZSBBUEkgdmVyc2lvbiBmb3Igd29ya3NwYWNlLWJhc2VkIEFwcGxpY2F0aW9uIEluc2lnaHRzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBBcHBsaWNhdGlvbiBJbnNpZ2h0cyB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKiBPcmRlcmVkIHdpdGggbGF0ZXN0IHN0YWJsZSB2ZXJzaW9uIGZpcnN0XG4gKi9cbmV4cG9ydCBjb25zdCBBTExfQVBQTElDQVRJT05fSU5TSUdIVFNfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgQVBQTElDQVRJT05fSU5TSUdIVFNfVkVSU0lPTl8yMDIwXzAyXzAyLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9JTlNJR0hUU19UWVBFID0gXCJNaWNyb3NvZnQuSW5zaWdodHMvY29tcG9uZW50c1wiO1xuIl19
|