@microsoft/terraform-cdk-constructs 1.8.0 → 2.2.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 +48328 -33656
- package/API.md +56123 -38995
- package/lib/azure-actiongroup/lib/action-group.d.ts +3 -3
- package/lib/azure-actiongroup/lib/action-group.js +5 -5
- package/lib/azure-actiongroup/test/action-group.integ.d.ts +1 -1
- package/lib/azure-actiongroup/test/action-group.integ.js +5 -5
- package/lib/azure-actiongroup/test/action-group.spec.js +9 -9
- package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +3 -3
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +5 -5
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.d.ts +1 -1
- package/lib/azure-activitylogalert/test/activity-log-alert.integ.js +6 -6
- package/lib/azure-activitylogalert/test/activity-log-alert.spec.js +9 -9
- package/lib/azure-aks/lib/aks-cluster.d.ts +6 -6
- package/lib/azure-aks/lib/aks-cluster.js +8 -8
- package/lib/azure-aks/test/aks-cluster.integ.d.ts +1 -1
- package/lib/azure-aks/test/aks-cluster.integ.js +5 -5
- package/lib/azure-aks/test/aks-cluster.spec.js +12 -12
- package/lib/azure-containerapps/index.d.ts +1 -0
- package/lib/azure-containerapps/index.js +18 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.d.ts +50 -0
- package/lib/azure-containerapps/lib/container-app-environment-schemas.js +522 -0
- package/lib/azure-containerapps/lib/container-app-environment.d.ts +374 -0
- package/lib/azure-containerapps/lib/container-app-environment.js +310 -0
- package/lib/azure-containerapps/lib/container-app-schemas.d.ts +48 -0
- package/lib/azure-containerapps/lib/container-app-schemas.js +466 -0
- package/lib/azure-containerapps/lib/container-app.d.ts +925 -0
- package/lib/azure-containerapps/lib/container-app.js +320 -0
- package/lib/azure-containerapps/lib/index.d.ts +4 -0
- package/lib/azure-containerapps/lib/index.js +21 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app-environment.integ.js +82 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app-environment.spec.js +412 -0
- package/lib/azure-containerapps/test/container-app.integ.d.ts +10 -0
- package/lib/azure-containerapps/test/container-app.integ.js +119 -0
- package/lib/azure-containerapps/test/container-app.spec.d.ts +9 -0
- package/lib/azure-containerapps/test/container-app.spec.js +839 -0
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +3 -3
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +5 -5
- package/lib/azure-diagnosticsettings/test/diagnostic-settings.spec.js +9 -9
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +7 -7
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +9 -9
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +4 -4
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +6 -6
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +4 -4
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +6 -6
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +1 -1
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +5 -5
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +11 -11
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +14 -14
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +12 -12
- package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +8 -8
- package/lib/azure-dnsresolver/lib/dns-resolver.js +10 -10
- package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +6 -6
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +8 -8
- package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +7 -7
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +9 -9
- package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/dns-resolver.integ.js +5 -5
- package/lib/azure-dnsresolver/test/dns-resolver.spec.js +11 -11
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +5 -5
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +12 -12
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +1 -1
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +5 -5
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +9 -9
- package/lib/azure-dnszone/lib/dns-zone.d.ts +6 -6
- package/lib/azure-dnszone/lib/dns-zone.js +8 -8
- package/lib/azure-dnszone/lib/records/dns-records.d.ts +31 -31
- package/lib/azure-dnszone/lib/records/dns-records.js +42 -42
- package/lib/azure-dnszone/test/dns-records.integ.d.ts +1 -1
- package/lib/azure-dnszone/test/dns-records.integ.js +5 -5
- package/lib/azure-dnszone/test/dns-records.spec.js +57 -57
- package/lib/azure-dnszone/test/dns-zone.integ.d.ts +1 -1
- package/lib/azure-dnszone/test/dns-zone.integ.js +5 -5
- package/lib/azure-dnszone/test/dns-zone.spec.js +11 -11
- package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
- package/lib/azure-loganalyticsworkspace/index.js +23 -0
- package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
- package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
- package/lib/azure-metricalert/lib/metric-alert.d.ts +3 -3
- package/lib/azure-metricalert/lib/metric-alert.js +5 -5
- package/lib/azure-metricalert/test/metric-alert.integ.d.ts +1 -1
- package/lib/azure-metricalert/test/metric-alert.integ.js +5 -5
- package/lib/azure-metricalert/test/metric-alert.spec.js +9 -9
- package/lib/azure-networkinterface/lib/network-interface.d.ts +5 -5
- package/lib/azure-networkinterface/lib/network-interface.js +7 -7
- package/lib/azure-networkinterface/test/network-interface.integ.d.ts +1 -1
- package/lib/azure-networkinterface/test/network-interface.integ.js +5 -5
- package/lib/azure-networkinterface/test/network-interface.spec.js +11 -11
- package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +6 -6
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +8 -8
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.d.ts +1 -1
- package/lib/azure-networksecuritygroup/test/network-security-group.integ.js +5 -5
- package/lib/azure-networksecuritygroup/test/network-security-group.spec.js +12 -12
- package/lib/azure-networkwatcher/index.d.ts +14 -0
- package/lib/azure-networkwatcher/index.js +31 -0
- package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
- package/lib/azure-networkwatcher/lib/index.js +22 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
- package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
- package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
- package/lib/azure-policyassignment/lib/policy-assignment.d.ts +3 -3
- package/lib/azure-policyassignment/lib/policy-assignment.js +5 -5
- package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +1 -1
- package/lib/azure-policyassignment/test/policy-assignment.integ.js +5 -5
- package/lib/azure-policyassignment/test/policy-assignment.spec.js +12 -12
- package/lib/azure-policydefinition/lib/policy-definition.d.ts +3 -3
- package/lib/azure-policydefinition/lib/policy-definition.js +5 -5
- package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +1 -1
- package/lib/azure-policydefinition/test/policy-definition.integ.js +5 -5
- package/lib/azure-policydefinition/test/policy-definition.spec.js +19 -19
- package/lib/azure-policysetdefinition/index.d.ts +10 -0
- package/lib/azure-policysetdefinition/index.js +27 -0
- package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
- package/lib/azure-policysetdefinition/lib/index.js +22 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +10 -10
- package/lib/azure-privatednszone/lib/private-dns-zone.js +12 -12
- package/lib/azure-privatednszone/lib/records/private-dns-records.d.ts +25 -25
- package/lib/azure-privatednszone/lib/records/private-dns-records.js +34 -34
- package/lib/azure-privatednszone/test/private-dns-records.integ.d.ts +1 -1
- package/lib/azure-privatednszone/test/private-dns-records.integ.js +5 -5
- package/lib/azure-privatednszone/test/private-dns-records.spec.js +49 -49
- package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +1 -1
- package/lib/azure-privatednszone/test/private-dns-zone.integ.js +5 -5
- package/lib/azure-privatednszone/test/private-dns-zone.spec.js +12 -12
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +6 -6
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +8 -8
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +1 -1
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +5 -5
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +12 -12
- package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +5 -5
- package/lib/azure-publicipaddress/lib/public-ip-address.js +7 -7
- package/lib/azure-publicipaddress/test/public-ip-address.integ.d.ts +1 -1
- package/lib/azure-publicipaddress/test/public-ip-address.integ.js +6 -6
- package/lib/azure-publicipaddress/test/public-ip-address.spec.js +11 -11
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +5 -5
- package/lib/azure-resourcegroup/lib/resource-group.js +7 -7
- package/lib/azure-resourcegroup/test/resource-group.integ.d.ts +1 -1
- package/lib/azure-resourcegroup/test/resource-group.integ.js +5 -5
- package/lib/azure-resourcegroup/test/resource-group.spec.js +14 -14
- package/lib/azure-roleassignment/lib/role-assignment.d.ts +3 -3
- package/lib/azure-roleassignment/lib/role-assignment.js +5 -5
- package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +1 -1
- package/lib/azure-roleassignment/test/role-assignment.integ.js +5 -5
- package/lib/azure-roleassignment/test/role-assignment.spec.js +12 -12
- package/lib/azure-roledefinition/lib/role-definition.d.ts +3 -3
- package/lib/azure-roledefinition/lib/role-definition.js +5 -5
- package/lib/azure-roledefinition/test/role-definition.integ.d.ts +1 -1
- package/lib/azure-roledefinition/test/role-definition.integ.js +5 -5
- package/lib/azure-roledefinition/test/role-definition.spec.js +12 -12
- package/lib/azure-storageaccount/lib/storage-account.d.ts +6 -6
- package/lib/azure-storageaccount/lib/storage-account.js +8 -8
- package/lib/azure-storageaccount/test/storage-account.integ.d.ts +1 -1
- package/lib/azure-storageaccount/test/storage-account.integ.js +5 -5
- package/lib/azure-storageaccount/test/storage-account.spec.js +11 -11
- package/lib/azure-subnet/lib/subnet.d.ts +3 -3
- package/lib/azure-subnet/lib/subnet.js +5 -5
- package/lib/azure-subnet/test/subnet.integ.d.ts +1 -1
- package/lib/azure-subnet/test/subnet.integ.js +5 -5
- package/lib/azure-subnet/test/subnet.spec.js +9 -9
- package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +6 -6
- package/lib/azure-virtualmachine/lib/virtual-machine.js +8 -8
- package/lib/azure-virtualmachine/test/virtual-machine.integ.d.ts +1 -1
- package/lib/azure-virtualmachine/test/virtual-machine.integ.js +5 -5
- package/lib/azure-virtualmachine/test/virtual-machine.spec.js +17 -17
- package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +6 -6
- package/lib/azure-virtualnetwork/lib/virtual-network.js +8 -8
- package/lib/azure-virtualnetwork/test/virtual-network.integ.d.ts +1 -1
- package/lib/azure-virtualnetwork/test/virtual-network.integ.js +5 -5
- package/lib/azure-virtualnetwork/test/virtual-network.spec.js +12 -12
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +9 -7
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +13 -10
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.js +5 -5
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +119 -11
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.d.ts +5 -5
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +7 -7
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.integ.js +5 -5
- package/lib/azure-virtualnetworkgatewayconnection/test/virtual-network-gateway-connection.spec.js +20 -20
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +4 -4
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +6 -6
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +7 -7
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +9 -9
- package/lib/azure-virtualnetworkmanager/test/ipam-pool-static-cidr.spec.js +17 -17
- package/lib/azure-virtualnetworkmanager/test/ipam-pool.spec.js +15 -15
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +1 -1
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +5 -5
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +57 -57
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +6 -6
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +8 -8
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.d.ts +1 -1
- package/lib/azure-vmss/test/virtual-machine-scale-set.integ.js +5 -5
- package/lib/azure-vmss/test/virtual-machine-scale-set.spec.js +12 -12
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +6 -6
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +7 -7
- package/lib/core-azure/lib/azapi/azapi-resource.js +6 -6
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +7 -7
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.d.ts +12 -12
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +15 -15
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.d.ts +35 -35
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +58 -58
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.d.ts +25 -25
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-action/index.js +49 -49
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.d.ts +13 -13
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-id/index.js +22 -22
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.d.ts +24 -24
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource-list/index.js +40 -40
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.d.ts +44 -44
- package/lib/core-azure/lib/azapi/providers-azapi/data-plane-resource/index.js +72 -72
- package/lib/core-azure/lib/azapi/providers-azapi/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/lazy-index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.d.ts +54 -54
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +86 -86
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.d.ts +65 -65
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +102 -102
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.d.ts +25 -25
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +62 -62
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.d.ts +36 -36
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +69 -69
- 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 +12 -0
- package/lib/index.js +14 -2
- package/lib/testing/index.d.ts +1 -1
- package/lib/testing/index.js +8 -8
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +1 -1
- package/package.json +10 -22
- package/setup.js +2 -2
|
@@ -0,0 +1,255 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Log Analytics Workspace across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.OperationalInsights/workspaces
|
|
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.LOG_ANALYTICS_WORKSPACE_TYPE = exports.ALL_LOG_ANALYTICS_WORKSPACE_VERSIONS = exports.LOG_ANALYTICS_WORKSPACE_VERSION_2022_10_01 = exports.LOG_ANALYTICS_WORKSPACE_VERSION_2023_09_01 = exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2022_10_01 = exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2023_09_01 = 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 Log Analytics Workspace versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES = {
|
|
19
|
+
name: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: true,
|
|
22
|
+
description: "Name of the Log Analytics workspace",
|
|
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-]{2,61}[a-zA-Z0-9]$",
|
|
31
|
+
message: "Workspace name must be 4-63 characters, start and end with a letter or number, and contain only letters, numbers, and hyphens",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
location: {
|
|
36
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
37
|
+
required: true,
|
|
38
|
+
description: "Azure region where the workspace will be created",
|
|
39
|
+
},
|
|
40
|
+
retentionInDays: {
|
|
41
|
+
dataType: version_interfaces_1.PropertyType.NUMBER,
|
|
42
|
+
required: false,
|
|
43
|
+
defaultValue: 30,
|
|
44
|
+
description: "Data retention in days. Values between 30 and 730 are allowed. Default is 30 days.",
|
|
45
|
+
validation: [
|
|
46
|
+
{
|
|
47
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
48
|
+
value: { min: 30, max: 730 },
|
|
49
|
+
message: "Retention must be between 30 and 730 days",
|
|
50
|
+
},
|
|
51
|
+
],
|
|
52
|
+
},
|
|
53
|
+
sku: {
|
|
54
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
55
|
+
required: false,
|
|
56
|
+
description: "SKU configuration for the workspace. Options: Free, Standard, Premium, PerNode, PerGB2018, Standalone, CapacityReservation",
|
|
57
|
+
},
|
|
58
|
+
workspaceCapping: {
|
|
59
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
60
|
+
required: false,
|
|
61
|
+
description: "Daily volume cap for data ingestion in GB",
|
|
62
|
+
},
|
|
63
|
+
publicNetworkAccessForIngestion: {
|
|
64
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
65
|
+
required: false,
|
|
66
|
+
description: "Public network access for data ingestion: Enabled or Disabled",
|
|
67
|
+
},
|
|
68
|
+
publicNetworkAccessForQuery: {
|
|
69
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
70
|
+
required: false,
|
|
71
|
+
description: "Public network access for queries: Enabled or Disabled",
|
|
72
|
+
},
|
|
73
|
+
features: {
|
|
74
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
75
|
+
required: false,
|
|
76
|
+
description: "Workspace features like enableDataExport, immediatePurgeDataOn30Days, etc.",
|
|
77
|
+
},
|
|
78
|
+
forceCmkForQuery: {
|
|
79
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
80
|
+
required: false,
|
|
81
|
+
description: "Whether customer-managed keys are required for saved searches and alerts",
|
|
82
|
+
},
|
|
83
|
+
defaultDataCollectionRuleResourceId: {
|
|
84
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
85
|
+
required: false,
|
|
86
|
+
description: "Resource ID of the default Data Collection Rule",
|
|
87
|
+
addedInVersion: "2023-09-01",
|
|
88
|
+
},
|
|
89
|
+
identity: {
|
|
90
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
91
|
+
required: false,
|
|
92
|
+
description: "Managed identity configuration for the workspace",
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
// =============================================================================
|
|
96
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
97
|
+
// =============================================================================
|
|
98
|
+
/**
|
|
99
|
+
* API Schema for Log Analytics Workspace version 2023-09-01
|
|
100
|
+
*
|
|
101
|
+
* This is the latest stable version for Log Analytics Workspace.
|
|
102
|
+
* It includes support for:
|
|
103
|
+
* - Data retention configuration
|
|
104
|
+
* - SKU management (Free, PerGB2018, CapacityReservation, etc.)
|
|
105
|
+
* - Daily volume cap (workspace capping)
|
|
106
|
+
* - Public network access controls
|
|
107
|
+
* - Workspace features (enableDataExport, immediatePurgeDataOn30Days, etc.)
|
|
108
|
+
* - Default Data Collection Rule
|
|
109
|
+
* - Managed identity
|
|
110
|
+
*/
|
|
111
|
+
exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2023_09_01 = {
|
|
112
|
+
resourceType: "Microsoft.OperationalInsights/workspaces",
|
|
113
|
+
version: "2023-09-01",
|
|
114
|
+
properties: {
|
|
115
|
+
...COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES,
|
|
116
|
+
},
|
|
117
|
+
required: ["name", "location"],
|
|
118
|
+
optional: [
|
|
119
|
+
"retentionInDays",
|
|
120
|
+
"sku",
|
|
121
|
+
"workspaceCapping",
|
|
122
|
+
"publicNetworkAccessForIngestion",
|
|
123
|
+
"publicNetworkAccessForQuery",
|
|
124
|
+
"features",
|
|
125
|
+
"forceCmkForQuery",
|
|
126
|
+
"defaultDataCollectionRuleResourceId",
|
|
127
|
+
"identity",
|
|
128
|
+
],
|
|
129
|
+
deprecated: [],
|
|
130
|
+
transformationRules: {},
|
|
131
|
+
validationRules: [
|
|
132
|
+
{
|
|
133
|
+
property: "name",
|
|
134
|
+
rules: [
|
|
135
|
+
{
|
|
136
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
137
|
+
message: "Name is required for Log Analytics Workspace",
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
},
|
|
141
|
+
],
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* API Schema for Log Analytics Workspace version 2022-10-01
|
|
145
|
+
*
|
|
146
|
+
* This is a stable version for backward compatibility.
|
|
147
|
+
* It includes support for:
|
|
148
|
+
* - Data retention configuration
|
|
149
|
+
* - SKU management
|
|
150
|
+
* - Daily volume cap
|
|
151
|
+
* - Public network access controls
|
|
152
|
+
* - Workspace features
|
|
153
|
+
*/
|
|
154
|
+
exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2022_10_01 = {
|
|
155
|
+
resourceType: "Microsoft.OperationalInsights/workspaces",
|
|
156
|
+
version: "2022-10-01",
|
|
157
|
+
properties: {
|
|
158
|
+
name: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.name,
|
|
159
|
+
location: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.location,
|
|
160
|
+
retentionInDays: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.retentionInDays,
|
|
161
|
+
sku: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.sku,
|
|
162
|
+
workspaceCapping: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.workspaceCapping,
|
|
163
|
+
publicNetworkAccessForIngestion: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.publicNetworkAccessForIngestion,
|
|
164
|
+
publicNetworkAccessForQuery: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.publicNetworkAccessForQuery,
|
|
165
|
+
features: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.features,
|
|
166
|
+
forceCmkForQuery: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.forceCmkForQuery,
|
|
167
|
+
identity: COMMON_LOG_ANALYTICS_WORKSPACE_PROPERTIES.identity,
|
|
168
|
+
// Note: defaultDataCollectionRuleResourceId is not available in this version
|
|
169
|
+
},
|
|
170
|
+
required: ["name", "location"],
|
|
171
|
+
optional: [
|
|
172
|
+
"retentionInDays",
|
|
173
|
+
"sku",
|
|
174
|
+
"workspaceCapping",
|
|
175
|
+
"publicNetworkAccessForIngestion",
|
|
176
|
+
"publicNetworkAccessForQuery",
|
|
177
|
+
"features",
|
|
178
|
+
"forceCmkForQuery",
|
|
179
|
+
"identity",
|
|
180
|
+
],
|
|
181
|
+
deprecated: [],
|
|
182
|
+
transformationRules: {},
|
|
183
|
+
validationRules: [
|
|
184
|
+
{
|
|
185
|
+
property: "name",
|
|
186
|
+
rules: [
|
|
187
|
+
{
|
|
188
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
189
|
+
message: "Name is required for Log Analytics Workspace",
|
|
190
|
+
},
|
|
191
|
+
],
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
};
|
|
195
|
+
// =============================================================================
|
|
196
|
+
// VERSION CONFIGURATIONS
|
|
197
|
+
// =============================================================================
|
|
198
|
+
/**
|
|
199
|
+
* Version configuration for Log Analytics Workspace 2023-09-01
|
|
200
|
+
*/
|
|
201
|
+
exports.LOG_ANALYTICS_WORKSPACE_VERSION_2023_09_01 = {
|
|
202
|
+
version: "2023-09-01",
|
|
203
|
+
schema: exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2023_09_01,
|
|
204
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
205
|
+
releaseDate: "2023-09-01",
|
|
206
|
+
deprecationDate: undefined,
|
|
207
|
+
sunsetDate: undefined,
|
|
208
|
+
breakingChanges: [],
|
|
209
|
+
migrationGuide: "/docs/log-analytics-workspace/migration-2023-09-01",
|
|
210
|
+
changeLog: [
|
|
211
|
+
{
|
|
212
|
+
changeType: "added",
|
|
213
|
+
description: "Added support for default Data Collection Rule resource ID",
|
|
214
|
+
breaking: false,
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
changeType: "updated",
|
|
218
|
+
description: "Latest stable API version with enhanced feature support",
|
|
219
|
+
breaking: false,
|
|
220
|
+
},
|
|
221
|
+
],
|
|
222
|
+
};
|
|
223
|
+
/**
|
|
224
|
+
* Version configuration for Log Analytics Workspace 2022-10-01
|
|
225
|
+
*/
|
|
226
|
+
exports.LOG_ANALYTICS_WORKSPACE_VERSION_2022_10_01 = {
|
|
227
|
+
version: "2022-10-01",
|
|
228
|
+
schema: exports.LOG_ANALYTICS_WORKSPACE_SCHEMA_2022_10_01,
|
|
229
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
230
|
+
releaseDate: "2022-10-01",
|
|
231
|
+
deprecationDate: undefined,
|
|
232
|
+
sunsetDate: undefined,
|
|
233
|
+
breakingChanges: [],
|
|
234
|
+
migrationGuide: "/docs/log-analytics-workspace/migration-2022-10-01",
|
|
235
|
+
changeLog: [
|
|
236
|
+
{
|
|
237
|
+
changeType: "updated",
|
|
238
|
+
description: "Stable API version for backward compatibility",
|
|
239
|
+
breaking: false,
|
|
240
|
+
},
|
|
241
|
+
],
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* All supported Log Analytics Workspace versions for registration
|
|
245
|
+
* Ordered with latest stable version first
|
|
246
|
+
*/
|
|
247
|
+
exports.ALL_LOG_ANALYTICS_WORKSPACE_VERSIONS = [
|
|
248
|
+
exports.LOG_ANALYTICS_WORKSPACE_VERSION_2023_09_01,
|
|
249
|
+
exports.LOG_ANALYTICS_WORKSPACE_VERSION_2022_10_01,
|
|
250
|
+
];
|
|
251
|
+
/**
|
|
252
|
+
* Resource type constant
|
|
253
|
+
*/
|
|
254
|
+
exports.LOG_ANALYTICS_WORKSPACE_TYPE = "Microsoft.OperationalInsights/workspaces";
|
|
255
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nLWFuYWx5dGljcy13b3Jrc3BhY2Utc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1sb2dhbmFseXRpY3N3b3Jrc3BhY2UvbGliL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSx5Q0FBeUMsR0FFM0M7SUFDRixJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLHFDQUFxQztRQUNsRCxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLGtCQUFrQjthQUM1QjtZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsNENBQTRDO2dCQUNuRCxPQUFPLEVBQ0wsK0hBQStIO2FBQ2xJO1NBQ0Y7S0FDRjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsa0RBQWtEO0tBQ2hFO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCxvRkFBb0Y7UUFDdEYsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFdBQVc7Z0JBQ3hDLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRTtnQkFDNUIsT0FB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akQsWUFBWSxFQUFFLHdDQUFtQixDQUFDLE1BQU07SUFDeEMsV0FBVyxFQUFFLFlBQVk7SUFDekIsZUFBZSxFQUFFLFNBQVM7SUFDMUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsY0FBYyxFQUFFLG9EQUFvRDtJQUNwRSxTQUFTLEVBQUU7UUFDVDtZQUNFLFVBQVUsRUFBRSxTQUFTO1lBQ3JCLFdBQVcsRUFBRSwrQ0FBK0M7WUFDNUQsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLG9DQUFvQyxHQUFvQjtJQUNuRSxrREFBMEM7SUFDMUMsa0RBQTBDO0NBQzNDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsNEJBQTRCLEdBQ3ZDLDBDQUEwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UgYWNyb3NzIGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29tcGxldGUgQVBJIHNjaGVtYXMgZm9yIE1pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBpU2NoZW1hLFxuICBQcm9wZXJ0eURlZmluaXRpb24sXG4gIFByb3BlcnR5VHlwZSxcbiAgVmFsaWRhdGlvblJ1bGVUeXBlLFxuICBWZXJzaW9uQ29uZmlnLFxuICBWZXJzaW9uU3VwcG9ydExldmVsLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT01NT04gUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQ29tbW9uIHByb3BlcnR5IGRlZmluaXRpb25zIHNoYXJlZCBhY3Jvc3MgYWxsIExvZyBBbmFseXRpY3MgV29ya3NwYWNlIHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTOiB7XG4gIFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbjtcbn0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJOYW1lIG9mIHRoZSBMb2cgQW5hbHl0aWNzIHdvcmtzcGFjZVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aMC05XVthLXpBLVowLTktXXsyLDYxfVthLXpBLVowLTldJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiV29ya3NwYWNlIG5hbWUgbXVzdCBiZSA0LTYzIGNoYXJhY3RlcnMsIHN0YXJ0IGFuZCBlbmQgd2l0aCBhIGxldHRlciBvciBudW1iZXIsIGFuZCBjb250YWluIG9ubHkgbGV0dGVycywgbnVtYmVycywgYW5kIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgbG9jYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBenVyZSByZWdpb24gd2hlcmUgdGhlIHdvcmtzcGFjZSB3aWxsIGJlIGNyZWF0ZWRcIixcbiAgfSxcbiAgcmV0ZW50aW9uSW5EYXlzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5OVU1CRVIsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZTogMzAsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkRhdGEgcmV0ZW50aW9uIGluIGRheXMuIFZhbHVlcyBiZXR3ZWVuIDMwIGFuZCA3MzAgYXJlIGFsbG93ZWQuIERlZmF1bHQgaXMgMzAgZGF5cy5cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbjogMzAsIG1heDogNzMwIH0sXG4gICAgICAgIG1lc3NhZ2U6IFwiUmV0ZW50aW9uIG11c3QgYmUgYmV0d2VlbiAzMCBhbmQgNzMwIGRheXNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgc2t1OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJTS1UgY29uZmlndXJhdGlvbiBmb3IgdGhlIHdvcmtzcGFjZS4gT3B0aW9uczogRnJlZSwgU3RhbmRhcmQsIFByZW1pdW0sIFBlck5vZGUsIFBlckdCMjAxOCwgU3RhbmRhbG9uZSwgQ2FwYWNpdHlSZXNlcnZhdGlvblwiLFxuICB9LFxuICB3b3Jrc3BhY2VDYXBwaW5nOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkRhaWx5IHZvbHVtZSBjYXAgZm9yIGRhdGEgaW5nZXN0aW9uIGluIEdCXCIsXG4gIH0sXG4gIHB1YmxpY05ldHdvcmtBY2Nlc3NGb3JJbmdlc3Rpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgZGF0YSBpbmdlc3Rpb246IEVuYWJsZWQgb3IgRGlzYWJsZWRcIixcbiAgfSxcbiAgcHVibGljTmV0d29ya0FjY2Vzc0ZvclF1ZXJ5OiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlB1YmxpYyBuZXR3b3JrIGFjY2VzcyBmb3IgcXVlcmllczogRW5hYmxlZCBvciBEaXNhYmxlZFwiLFxuICB9LFxuICBmZWF0dXJlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiV29ya3NwYWNlIGZlYXR1cmVzIGxpa2UgZW5hYmxlRGF0YUV4cG9ydCwgaW1tZWRpYXRlUHVyZ2VEYXRhT24zMERheXMsIGV0Yy5cIixcbiAgfSxcbiAgZm9yY2VDbWtGb3JRdWVyeToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIldoZXRoZXIgY3VzdG9tZXItbWFuYWdlZCBrZXlzIGFyZSByZXF1aXJlZCBmb3Igc2F2ZWQgc2VhcmNoZXMgYW5kIGFsZXJ0c1wiLFxuICB9LFxuICBkZWZhdWx0RGF0YUNvbGxlY3Rpb25SdWxlUmVzb3VyY2VJZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJSZXNvdXJjZSBJRCBvZiB0aGUgZGVmYXVsdCBEYXRhIENvbGxlY3Rpb24gUnVsZVwiLFxuICAgIGFkZGVkSW5WZXJzaW9uOiBcIjIwMjMtMDktMDFcIixcbiAgfSxcbiAgaWRlbnRpdHk6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiTWFuYWdlZCBpZGVudGl0eSBjb25maWd1cmF0aW9uIGZvciB0aGUgd29ya3NwYWNlXCIsXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIExvZyBBbmFseXRpY3MgV29ya3NwYWNlIHZlcnNpb24gMjAyMy0wOS0wMVxuICpcbiAqIFRoaXMgaXMgdGhlIGxhdGVzdCBzdGFibGUgdmVyc2lvbiBmb3IgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UuXG4gKiBJdCBpbmNsdWRlcyBzdXBwb3J0IGZvcjpcbiAqIC0gRGF0YSByZXRlbnRpb24gY29uZmlndXJhdGlvblxuICogLSBTS1UgbWFuYWdlbWVudCAoRnJlZSwgUGVyR0IyMDE4LCBDYXBhY2l0eVJlc2VydmF0aW9uLCBldGMuKVxuICogLSBEYWlseSB2b2x1bWUgY2FwICh3b3Jrc3BhY2UgY2FwcGluZylcbiAqIC0gUHVibGljIG5ldHdvcmsgYWNjZXNzIGNvbnRyb2xzXG4gKiAtIFdvcmtzcGFjZSBmZWF0dXJlcyAoZW5hYmxlRGF0YUV4cG9ydCwgaW1tZWRpYXRlUHVyZ2VEYXRhT24zMERheXMsIGV0Yy4pXG4gKiAtIERlZmF1bHQgRGF0YSBDb2xsZWN0aW9uIFJ1bGVcbiAqIC0gTWFuYWdlZCBpZGVudGl0eVxuICovXG5leHBvcnQgY29uc3QgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfU0NIRU1BXzIwMjNfMDlfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXNcIixcbiAgdmVyc2lvbjogXCIyMDIzLTA5LTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcIm5hbWVcIiwgXCJsb2NhdGlvblwiXSxcbiAgb3B0aW9uYWw6IFtcbiAgICBcInJldGVudGlvbkluRGF5c1wiLFxuICAgIFwic2t1XCIsXG4gICAgXCJ3b3Jrc3BhY2VDYXBwaW5nXCIsXG4gICAgXCJwdWJsaWNOZXR3b3JrQWNjZXNzRm9ySW5nZXN0aW9uXCIsXG4gICAgXCJwdWJsaWNOZXR3b3JrQWNjZXNzRm9yUXVlcnlcIixcbiAgICBcImZlYXR1cmVzXCIsXG4gICAgXCJmb3JjZUNta0ZvclF1ZXJ5XCIsXG4gICAgXCJkZWZhdWx0RGF0YUNvbGxlY3Rpb25SdWxlUmVzb3VyY2VJZFwiLFxuICAgIFwiaWRlbnRpdHlcIixcbiAgXSxcbiAgZGVwcmVjYXRlZDogW10sXG4gIHRyYW5zZm9ybWF0aW9uUnVsZXM6IHt9LFxuICB2YWxpZGF0aW9uUnVsZXM6IFtcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuYW1lXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIk5hbWUgaXMgcmVxdWlyZWQgZm9yIExvZyBBbmFseXRpY3MgV29ya3NwYWNlXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIExvZyBBbmFseXRpY3MgV29ya3NwYWNlIHZlcnNpb24gMjAyMi0xMC0wMVxuICpcbiAqIFRoaXMgaXMgYSBzdGFibGUgdmVyc2lvbiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAqIEl0IGluY2x1ZGVzIHN1cHBvcnQgZm9yOlxuICogLSBEYXRhIHJldGVudGlvbiBjb25maWd1cmF0aW9uXG4gKiAtIFNLVSBtYW5hZ2VtZW50XG4gKiAtIERhaWx5IHZvbHVtZSBjYXBcbiAqIC0gUHVibGljIG5ldHdvcmsgYWNjZXNzIGNvbnRyb2xzXG4gKiAtIFdvcmtzcGFjZSBmZWF0dXJlc1xuICovXG5leHBvcnQgY29uc3QgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfU0NIRU1BXzIwMjJfMTBfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5PcGVyYXRpb25hbEluc2lnaHRzL3dvcmtzcGFjZXNcIixcbiAgdmVyc2lvbjogXCIyMDIyLTEwLTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICBuYW1lOiBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5uYW1lLFxuICAgIGxvY2F0aW9uOiBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5sb2NhdGlvbixcbiAgICByZXRlbnRpb25JbkRheXM6IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTLnJldGVudGlvbkluRGF5cyxcbiAgICBza3U6IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTLnNrdSxcbiAgICB3b3Jrc3BhY2VDYXBwaW5nOlxuICAgICAgQ09NTU9OX0xPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1BST1BFUlRJRVMud29ya3NwYWNlQ2FwcGluZyxcbiAgICBwdWJsaWNOZXR3b3JrQWNjZXNzRm9ySW5nZXN0aW9uOlxuICAgICAgQ09NTU9OX0xPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1BST1BFUlRJRVMucHVibGljTmV0d29ya0FjY2Vzc0ZvckluZ2VzdGlvbixcbiAgICBwdWJsaWNOZXR3b3JrQWNjZXNzRm9yUXVlcnk6XG4gICAgICBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5wdWJsaWNOZXR3b3JrQWNjZXNzRm9yUXVlcnksXG4gICAgZmVhdHVyZXM6IENPTU1PTl9MT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9QUk9QRVJUSUVTLmZlYXR1cmVzLFxuICAgIGZvcmNlQ21rRm9yUXVlcnk6XG4gICAgICBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5mb3JjZUNta0ZvclF1ZXJ5LFxuICAgIGlkZW50aXR5OiBDT01NT05fTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfUFJPUEVSVElFUy5pZGVudGl0eSxcbiAgICAvLyBOb3RlOiBkZWZhdWx0RGF0YUNvbGxlY3Rpb25SdWxlUmVzb3VyY2VJZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvblxuICB9LFxuICByZXF1aXJlZDogW1wibmFtZVwiLCBcImxvY2F0aW9uXCJdLFxuICBvcHRpb25hbDogW1xuICAgIFwicmV0ZW50aW9uSW5EYXlzXCIsXG4gICAgXCJza3VcIixcbiAgICBcIndvcmtzcGFjZUNhcHBpbmdcIixcbiAgICBcInB1YmxpY05ldHdvcmtBY2Nlc3NGb3JJbmdlc3Rpb25cIixcbiAgICBcInB1YmxpY05ldHdvcmtBY2Nlc3NGb3JRdWVyeVwiLFxuICAgIFwiZmVhdHVyZXNcIixcbiAgICBcImZvcmNlQ21rRm9yUXVlcnlcIixcbiAgICBcImlkZW50aXR5XCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBMb2cgQW5hbHl0aWNzIFdvcmtzcGFjZVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBMb2cgQW5hbHl0aWNzIFdvcmtzcGFjZSAyMDIzLTA5LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBMT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9WRVJTSU9OXzIwMjNfMDlfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMy0wOS0wMVwiLFxuICBzY2hlbWE6IExPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1NDSEVNQV8yMDIzXzA5XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIzLTA5LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL2xvZy1hbmFseXRpY3Mtd29ya3NwYWNlL21pZ3JhdGlvbi0yMDIzLTA5LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkFkZGVkIHN1cHBvcnQgZm9yIGRlZmF1bHQgRGF0YSBDb2xsZWN0aW9uIFJ1bGUgcmVzb3VyY2UgSURcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwidXBkYXRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246IFwiTGF0ZXN0IHN0YWJsZSBBUEkgdmVyc2lvbiB3aXRoIGVuaGFuY2VkIGZlYXR1cmUgc3VwcG9ydFwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UgMjAyMi0xMC0wMVxuICovXG5leHBvcnQgY29uc3QgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfVkVSU0lPTl8yMDIyXzEwXzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjItMTAtMDFcIixcbiAgc2NoZW1hOiBMT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9TQ0hFTUFfMjAyMl8xMF8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyMi0xMC0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9sb2ctYW5hbHl0aWNzLXdvcmtzcGFjZS9taWdyYXRpb24tMjAyMi0xMC0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YWJsZSBBUEkgdmVyc2lvbiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFsbCBzdXBwb3J0ZWQgTG9nIEFuYWx5dGljcyBXb3Jrc3BhY2UgdmVyc2lvbnMgZm9yIHJlZ2lzdHJhdGlvblxuICogT3JkZXJlZCB3aXRoIGxhdGVzdCBzdGFibGUgdmVyc2lvbiBmaXJzdFxuICovXG5leHBvcnQgY29uc3QgQUxMX0xPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIExPR19BTkFMWVRJQ1NfV09SS1NQQUNFX1ZFUlNJT05fMjAyM18wOV8wMSxcbiAgTE9HX0FOQUxZVElDU19XT1JLU1BBQ0VfVkVSU0lPTl8yMDIyXzEwXzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBMT0dfQU5BTFlUSUNTX1dPUktTUEFDRV9UWVBFID1cbiAgXCJNaWNyb3NvZnQuT3BlcmF0aW9uYWxJbnNpZ2h0cy93b3Jrc3BhY2VzXCI7XG4iXX0=
|
|
@@ -0,0 +1,301 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Azure Log Analytics Workspace implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a version-aware implementation for Azure Log Analytics Workspace
|
|
5
|
+
* that automatically handles version management, schema validation, and property
|
|
6
|
+
* transformation across all supported API versions.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2023-09-01 (Active, Latest)
|
|
10
|
+
* - 2022-10-01 (Active, Backward Compatibility)
|
|
11
|
+
*
|
|
12
|
+
* Features:
|
|
13
|
+
* - Automatic latest version resolution when no version is specified
|
|
14
|
+
* - Explicit version pinning for stability requirements
|
|
15
|
+
* - Schema-driven validation and transformation
|
|
16
|
+
* - Full JSII compliance for multi-language support
|
|
17
|
+
* - Configurable data retention, SKU, and workspace capping
|
|
18
|
+
* - Public network access controls
|
|
19
|
+
* - Workspace features configuration
|
|
20
|
+
*/
|
|
21
|
+
import * as cdktf from "cdktn";
|
|
22
|
+
import { Construct } from "constructs";
|
|
23
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
24
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
25
|
+
/**
|
|
26
|
+
* SKU configuration for Log Analytics Workspace
|
|
27
|
+
*/
|
|
28
|
+
export interface LogAnalyticsWorkspaceSku {
|
|
29
|
+
/**
|
|
30
|
+
* SKU name for the Log Analytics Workspace
|
|
31
|
+
*
|
|
32
|
+
* Available options:
|
|
33
|
+
* - "Free" - Free tier (limited to 500MB/day, 7 day retention)
|
|
34
|
+
* - "Standard" - Standard tier (legacy)
|
|
35
|
+
* - "Premium" - Premium tier (legacy)
|
|
36
|
+
* - "PerNode" - Per node pricing (legacy, for OMS customers)
|
|
37
|
+
* - "PerGB2018" - Pay-as-you-go pricing based on data ingestion
|
|
38
|
+
* - "Standalone" - Standalone tier (legacy)
|
|
39
|
+
* - "CapacityReservation" - Commitment tier with reserved capacity
|
|
40
|
+
*
|
|
41
|
+
* @defaultValue "PerGB2018"
|
|
42
|
+
*/
|
|
43
|
+
readonly name: "Free" | "Standard" | "Premium" | "PerNode" | "PerGB2018" | "Standalone" | "CapacityReservation";
|
|
44
|
+
/**
|
|
45
|
+
* Capacity reservation level in GB per day
|
|
46
|
+
* Only applicable when SKU name is "CapacityReservation"
|
|
47
|
+
* Valid values: 100, 200, 300, 400, 500, 1000, 2000, 5000
|
|
48
|
+
*/
|
|
49
|
+
readonly capacityReservationLevel?: number;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Workspace capping configuration for daily data ingestion limits
|
|
53
|
+
*/
|
|
54
|
+
export interface LogAnalyticsWorkspaceCapping {
|
|
55
|
+
/**
|
|
56
|
+
* Daily volume cap in GB
|
|
57
|
+
* A value of -1 means no cap
|
|
58
|
+
*/
|
|
59
|
+
readonly dailyQuotaGb: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Workspace features configuration
|
|
63
|
+
*/
|
|
64
|
+
export interface LogAnalyticsWorkspaceFeatures {
|
|
65
|
+
/**
|
|
66
|
+
* Flag indicating whether data export is enabled
|
|
67
|
+
*/
|
|
68
|
+
readonly enableDataExport?: boolean;
|
|
69
|
+
/**
|
|
70
|
+
* Flag indicating whether data should be immediately purged after 30 days
|
|
71
|
+
* instead of the configured retention period
|
|
72
|
+
*/
|
|
73
|
+
readonly immediatePurgeDataOn30Days?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Flag indicating whether log access using AADIAM is disabled
|
|
76
|
+
*/
|
|
77
|
+
readonly disableLocalAuth?: boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Flag indicating whether cluster resource permissions are enabled
|
|
80
|
+
*/
|
|
81
|
+
readonly enableLogAccessUsingOnlyResourcePermissions?: boolean;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Managed identity configuration for the workspace
|
|
85
|
+
*/
|
|
86
|
+
export interface LogAnalyticsWorkspaceIdentity {
|
|
87
|
+
/**
|
|
88
|
+
* Type of managed identity
|
|
89
|
+
*/
|
|
90
|
+
readonly type: "SystemAssigned" | "UserAssigned" | "SystemAssigned,UserAssigned" | "None";
|
|
91
|
+
/**
|
|
92
|
+
* User-assigned identity resource IDs
|
|
93
|
+
* Required when type includes UserAssigned
|
|
94
|
+
*/
|
|
95
|
+
readonly userAssignedIdentities?: {
|
|
96
|
+
[key: string]: any;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Properties for the unified Azure Log Analytics Workspace
|
|
101
|
+
*
|
|
102
|
+
* Extends AzapiResourceProps with Log Analytics Workspace specific properties
|
|
103
|
+
*/
|
|
104
|
+
export interface LogAnalyticsWorkspaceProps extends AzapiResourceProps {
|
|
105
|
+
/**
|
|
106
|
+
* Resource Group ID where the workspace will be created
|
|
107
|
+
* The workspace will be created as a child of this resource group
|
|
108
|
+
*/
|
|
109
|
+
readonly resourceGroupId: string;
|
|
110
|
+
/**
|
|
111
|
+
* Data retention period in days
|
|
112
|
+
*
|
|
113
|
+
* Values between 30 and 730 are supported for pay-as-you-go pricing.
|
|
114
|
+
* Free tier is limited to 7 days.
|
|
115
|
+
*
|
|
116
|
+
* @defaultValue 30
|
|
117
|
+
*/
|
|
118
|
+
readonly retentionInDays?: number;
|
|
119
|
+
/**
|
|
120
|
+
* SKU configuration for the workspace
|
|
121
|
+
*
|
|
122
|
+
* Determines pricing tier and capabilities of the workspace.
|
|
123
|
+
*
|
|
124
|
+
* @defaultValue { name: "PerGB2018" }
|
|
125
|
+
*/
|
|
126
|
+
readonly sku?: LogAnalyticsWorkspaceSku;
|
|
127
|
+
/**
|
|
128
|
+
* Daily volume cap for data ingestion
|
|
129
|
+
*
|
|
130
|
+
* When the daily cap is reached, data ingestion stops until the next day.
|
|
131
|
+
* A value of dailyQuotaGb: -1 means no cap.
|
|
132
|
+
*/
|
|
133
|
+
readonly workspaceCapping?: LogAnalyticsWorkspaceCapping;
|
|
134
|
+
/**
|
|
135
|
+
* Public network access for data ingestion
|
|
136
|
+
*
|
|
137
|
+
* Controls whether data can be ingested over the public internet.
|
|
138
|
+
*
|
|
139
|
+
* @defaultValue "Enabled"
|
|
140
|
+
*/
|
|
141
|
+
readonly publicNetworkAccessForIngestion?: "Enabled" | "Disabled";
|
|
142
|
+
/**
|
|
143
|
+
* Public network access for querying data
|
|
144
|
+
*
|
|
145
|
+
* Controls whether queries can be executed over the public internet.
|
|
146
|
+
*
|
|
147
|
+
* @defaultValue "Enabled"
|
|
148
|
+
*/
|
|
149
|
+
readonly publicNetworkAccessForQuery?: "Enabled" | "Disabled";
|
|
150
|
+
/**
|
|
151
|
+
* Workspace features configuration
|
|
152
|
+
*
|
|
153
|
+
* Enables or disables specific workspace features like data export,
|
|
154
|
+
* immediate purge, and local authentication.
|
|
155
|
+
*/
|
|
156
|
+
readonly features?: LogAnalyticsWorkspaceFeatures;
|
|
157
|
+
/**
|
|
158
|
+
* Whether customer-managed keys are required for saved searches and alerts
|
|
159
|
+
*
|
|
160
|
+
* When enabled, all saved searches and alerts must use customer-managed keys.
|
|
161
|
+
*/
|
|
162
|
+
readonly forceCmkForQuery?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Resource ID of the default Data Collection Rule
|
|
165
|
+
*
|
|
166
|
+
* Associates a default DCR with the workspace for data collection.
|
|
167
|
+
* Only available in API version 2023-09-01 and later.
|
|
168
|
+
*/
|
|
169
|
+
readonly defaultDataCollectionRuleResourceId?: string;
|
|
170
|
+
/**
|
|
171
|
+
* Managed identity configuration for the workspace
|
|
172
|
+
*
|
|
173
|
+
* Enables managed identity authentication for the workspace.
|
|
174
|
+
*/
|
|
175
|
+
readonly identity?: LogAnalyticsWorkspaceIdentity;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Properties for the Log Analytics Workspace request body
|
|
179
|
+
*/
|
|
180
|
+
export interface LogAnalyticsWorkspaceBodyProperties {
|
|
181
|
+
readonly retentionInDays?: number;
|
|
182
|
+
readonly sku?: LogAnalyticsWorkspaceSku;
|
|
183
|
+
readonly workspaceCapping?: LogAnalyticsWorkspaceCapping;
|
|
184
|
+
readonly publicNetworkAccessForIngestion?: string;
|
|
185
|
+
readonly publicNetworkAccessForQuery?: string;
|
|
186
|
+
readonly features?: LogAnalyticsWorkspaceFeatures;
|
|
187
|
+
readonly forceCmkForQuery?: boolean;
|
|
188
|
+
readonly defaultDataCollectionRuleResourceId?: string;
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* The resource body interface for Azure Log Analytics Workspace API calls
|
|
192
|
+
*/
|
|
193
|
+
export interface LogAnalyticsWorkspaceBody {
|
|
194
|
+
readonly properties: LogAnalyticsWorkspaceBodyProperties;
|
|
195
|
+
readonly identity?: LogAnalyticsWorkspaceIdentity;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Unified Azure Log Analytics Workspace implementation
|
|
199
|
+
*
|
|
200
|
+
* This class provides a single, version-aware implementation that automatically handles version
|
|
201
|
+
* resolution, schema validation, and property transformation while maintaining full JSII compliance.
|
|
202
|
+
*
|
|
203
|
+
* Log Analytics Workspace is the central destination for log data from Azure resources,
|
|
204
|
+
* applications, and on-premises infrastructure. It enables querying, analysis, and
|
|
205
|
+
* visualization of log data using Kusto Query Language (KQL).
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* // Basic Log Analytics Workspace with default settings:
|
|
209
|
+
* const workspace = new LogAnalyticsWorkspace(this, "my-workspace", {
|
|
210
|
+
* name: "my-log-analytics",
|
|
211
|
+
* location: "eastus",
|
|
212
|
+
* resourceGroupId: resourceGroup.id,
|
|
213
|
+
* });
|
|
214
|
+
*
|
|
215
|
+
* @example
|
|
216
|
+
* // Log Analytics Workspace with custom retention and SKU:
|
|
217
|
+
* const workspace = new LogAnalyticsWorkspace(this, "production-workspace", {
|
|
218
|
+
* name: "production-logs",
|
|
219
|
+
* location: "eastus",
|
|
220
|
+
* resourceGroupId: resourceGroup.id,
|
|
221
|
+
* retentionInDays: 90,
|
|
222
|
+
* sku: {
|
|
223
|
+
* name: "PerGB2018"
|
|
224
|
+
* },
|
|
225
|
+
* publicNetworkAccessForIngestion: "Enabled",
|
|
226
|
+
* publicNetworkAccessForQuery: "Enabled",
|
|
227
|
+
* tags: {
|
|
228
|
+
* environment: "production"
|
|
229
|
+
* }
|
|
230
|
+
* });
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* // Log Analytics Workspace with capacity reservation:
|
|
234
|
+
* const workspace = new LogAnalyticsWorkspace(this, "high-volume-workspace", {
|
|
235
|
+
* name: "high-volume-logs",
|
|
236
|
+
* location: "eastus",
|
|
237
|
+
* resourceGroupId: resourceGroup.id,
|
|
238
|
+
* retentionInDays: 365,
|
|
239
|
+
* sku: {
|
|
240
|
+
* name: "CapacityReservation",
|
|
241
|
+
* capacityReservationLevel: 500
|
|
242
|
+
* },
|
|
243
|
+
* workspaceCapping: {
|
|
244
|
+
* dailyQuotaGb: 100
|
|
245
|
+
* }
|
|
246
|
+
* });
|
|
247
|
+
*
|
|
248
|
+
* @stability stable
|
|
249
|
+
*/
|
|
250
|
+
export declare class LogAnalyticsWorkspace extends AzapiResource {
|
|
251
|
+
/**
|
|
252
|
+
* The input properties for this Log Analytics Workspace instance
|
|
253
|
+
*/
|
|
254
|
+
readonly props: LogAnalyticsWorkspaceProps;
|
|
255
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
256
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
257
|
+
readonly workspaceIdOutput: cdktf.TerraformOutput;
|
|
258
|
+
readonly customerIdOutput: cdktf.TerraformOutput;
|
|
259
|
+
/**
|
|
260
|
+
* Creates a new Azure Log Analytics Workspace using the AzapiResource framework
|
|
261
|
+
*
|
|
262
|
+
* The constructor automatically handles version resolution, schema registration,
|
|
263
|
+
* validation, and resource creation.
|
|
264
|
+
*
|
|
265
|
+
* @param scope - The scope in which to define this construct
|
|
266
|
+
* @param id - The unique identifier for this instance
|
|
267
|
+
* @param props - Configuration properties for the Log Analytics Workspace
|
|
268
|
+
*/
|
|
269
|
+
constructor(scope: Construct, id: string, props: LogAnalyticsWorkspaceProps);
|
|
270
|
+
/**
|
|
271
|
+
* Gets the default API version to use when no explicit version is specified
|
|
272
|
+
* Returns the latest stable version as the default
|
|
273
|
+
*/
|
|
274
|
+
protected defaultVersion(): string;
|
|
275
|
+
/**
|
|
276
|
+
* Gets the Azure resource type for Log Analytics Workspace
|
|
277
|
+
*/
|
|
278
|
+
protected resourceType(): string;
|
|
279
|
+
/**
|
|
280
|
+
* Gets the API schema for the resolved version
|
|
281
|
+
* Uses the framework's schema resolution to get the appropriate schema
|
|
282
|
+
*/
|
|
283
|
+
protected apiSchema(): ApiSchema;
|
|
284
|
+
/**
|
|
285
|
+
* Indicates that this resource type requires a location
|
|
286
|
+
*/
|
|
287
|
+
protected requiresLocation(): boolean;
|
|
288
|
+
/**
|
|
289
|
+
* Creates the resource body for the Azure API call
|
|
290
|
+
* Transforms the input properties into the JSON format expected by Azure REST API
|
|
291
|
+
*/
|
|
292
|
+
protected createResourceBody(props: any): any;
|
|
293
|
+
/**
|
|
294
|
+
* Resolves the parent resource ID for Log Analytics Workspace
|
|
295
|
+
* Log Analytics Workspace is a top-level resource within a resource group
|
|
296
|
+
*
|
|
297
|
+
* @param props - The resource properties
|
|
298
|
+
* @returns The parent resource ID (the resource group)
|
|
299
|
+
*/
|
|
300
|
+
protected resolveParentId(props: any): string;
|
|
301
|
+
}
|