@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,374 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Azure Container App Managed Environment implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a single, version-aware implementation that automatically handles
|
|
5
|
+
* version management, schema validation, and property transformation across all
|
|
6
|
+
* supported API versions.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2024-03-01 (Active)
|
|
10
|
+
* - 2025-07-01 (Active, Latest)
|
|
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 backward compatibility with existing interface
|
|
17
|
+
* - JSII compliance for multi-language support
|
|
18
|
+
* - Log Analytics and Azure Monitor integration
|
|
19
|
+
* - VNet injection for network isolation
|
|
20
|
+
* - Workload profiles for compute customization
|
|
21
|
+
* - Zone redundancy for high availability
|
|
22
|
+
* - Peer authentication (mTLS) and traffic encryption (2025-07-01+)
|
|
23
|
+
*/
|
|
24
|
+
import * as cdktn from "cdktn";
|
|
25
|
+
import { Construct } from "constructs";
|
|
26
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
27
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
28
|
+
/**
|
|
29
|
+
* Log Analytics configuration for the Container App Environment
|
|
30
|
+
*/
|
|
31
|
+
export interface ContainerAppEnvironmentLogAnalyticsConfig {
|
|
32
|
+
/**
|
|
33
|
+
* Log Analytics workspace customer ID (workspace ID)
|
|
34
|
+
*/
|
|
35
|
+
readonly customerId: string;
|
|
36
|
+
/**
|
|
37
|
+
* Log Analytics workspace shared key
|
|
38
|
+
*/
|
|
39
|
+
readonly sharedKey: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Application logs configuration for the Container App Environment
|
|
43
|
+
*/
|
|
44
|
+
export interface ContainerAppEnvironmentAppLogsConfig {
|
|
45
|
+
/**
|
|
46
|
+
* Logs destination. Can be 'log-analytics', 'azure-monitor', or 'none'.
|
|
47
|
+
* @default "log-analytics"
|
|
48
|
+
*/
|
|
49
|
+
readonly destination?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Log Analytics configuration. Required when destination is 'log-analytics'.
|
|
52
|
+
*/
|
|
53
|
+
readonly logAnalyticsConfiguration?: ContainerAppEnvironmentLogAnalyticsConfig;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* VNet configuration for the Container App Environment
|
|
57
|
+
*/
|
|
58
|
+
export interface ContainerAppEnvironmentVnetConfig {
|
|
59
|
+
/**
|
|
60
|
+
* Resource ID of a subnet for infrastructure components.
|
|
61
|
+
* Must be at least /21 for consumption-only environments or /23 for workload profile environments.
|
|
62
|
+
*/
|
|
63
|
+
readonly infrastructureSubnetId?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Whether the environment only has an internal load balancer (no public endpoint).
|
|
66
|
+
* @default false
|
|
67
|
+
*/
|
|
68
|
+
readonly internal?: boolean;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Workload profile configuration
|
|
72
|
+
*/
|
|
73
|
+
export interface ContainerAppEnvironmentWorkloadProfile {
|
|
74
|
+
/**
|
|
75
|
+
* Friendly name of the workload profile
|
|
76
|
+
*/
|
|
77
|
+
readonly name: string;
|
|
78
|
+
/**
|
|
79
|
+
* Workload profile type. Values include 'Consumption', 'GeneralPurpose',
|
|
80
|
+
* 'MemoryOptimized', 'ComputeOptimized', 'D4', 'D8', 'D16', 'D32',
|
|
81
|
+
* 'E4', 'E8', 'E16', 'E32'.
|
|
82
|
+
*/
|
|
83
|
+
readonly workloadProfileType: string;
|
|
84
|
+
/**
|
|
85
|
+
* Minimum number of instances for this workload profile (not applicable for Consumption).
|
|
86
|
+
*/
|
|
87
|
+
readonly minimumCount?: number;
|
|
88
|
+
/**
|
|
89
|
+
* Maximum number of instances for this workload profile (not applicable for Consumption).
|
|
90
|
+
*/
|
|
91
|
+
readonly maximumCount?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Custom domain configuration for the environment
|
|
95
|
+
*/
|
|
96
|
+
export interface ContainerAppEnvironmentCustomDomainConfig {
|
|
97
|
+
/**
|
|
98
|
+
* Custom DNS suffix for the environment
|
|
99
|
+
*/
|
|
100
|
+
readonly dnsSuffix?: string;
|
|
101
|
+
/**
|
|
102
|
+
* PFX or PEM certificate value (base64 encoded)
|
|
103
|
+
*/
|
|
104
|
+
readonly certificateValue?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Certificate password
|
|
107
|
+
*/
|
|
108
|
+
readonly certificatePassword?: string;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Mutual TLS settings for peer authentication
|
|
112
|
+
*/
|
|
113
|
+
export interface ContainerAppEnvironmentMtlsConfig {
|
|
114
|
+
/**
|
|
115
|
+
* Whether mTLS is enabled
|
|
116
|
+
*/
|
|
117
|
+
readonly enabled?: boolean;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Peer authentication settings (mTLS) for the Managed Environment.
|
|
121
|
+
* Available in API version 2025-07-01+.
|
|
122
|
+
*/
|
|
123
|
+
export interface ContainerAppEnvironmentPeerAuthentication {
|
|
124
|
+
/**
|
|
125
|
+
* Mutual TLS settings
|
|
126
|
+
*/
|
|
127
|
+
readonly mtls?: ContainerAppEnvironmentMtlsConfig;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Encryption settings for peer traffic
|
|
131
|
+
*/
|
|
132
|
+
export interface ContainerAppEnvironmentEncryptionConfig {
|
|
133
|
+
/**
|
|
134
|
+
* Whether encryption is enabled
|
|
135
|
+
*/
|
|
136
|
+
readonly enabled?: boolean;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Peer traffic encryption settings for the Managed Environment.
|
|
140
|
+
* Available in API version 2025-07-01+.
|
|
141
|
+
*/
|
|
142
|
+
export interface ContainerAppEnvironmentPeerTrafficConfig {
|
|
143
|
+
/**
|
|
144
|
+
* Encryption settings
|
|
145
|
+
*/
|
|
146
|
+
readonly encryption?: ContainerAppEnvironmentEncryptionConfig;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Ingress configuration settings for the Managed Environment.
|
|
150
|
+
* Available in API version 2025-07-01+.
|
|
151
|
+
*/
|
|
152
|
+
export interface ContainerAppEnvironmentIngressConfig {
|
|
153
|
+
/**
|
|
154
|
+
* Workload profile name for the ingress component
|
|
155
|
+
*/
|
|
156
|
+
readonly workloadProfileName?: string;
|
|
157
|
+
/**
|
|
158
|
+
* Termination grace period in seconds
|
|
159
|
+
*/
|
|
160
|
+
readonly terminationGracePeriodSeconds?: number;
|
|
161
|
+
/**
|
|
162
|
+
* Header count limit
|
|
163
|
+
*/
|
|
164
|
+
readonly headerCountLimit?: number;
|
|
165
|
+
/**
|
|
166
|
+
* Request idle timeout in seconds
|
|
167
|
+
*/
|
|
168
|
+
readonly requestIdleTimeout?: number;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Properties for the unified Azure Container App Environment
|
|
172
|
+
*
|
|
173
|
+
* Extends AzapiResourceProps with Container App Environment specific properties
|
|
174
|
+
*/
|
|
175
|
+
export interface ContainerAppEnvironmentProps extends AzapiResourceProps {
|
|
176
|
+
/**
|
|
177
|
+
* Application logs configuration
|
|
178
|
+
*/
|
|
179
|
+
readonly appLogsConfiguration?: ContainerAppEnvironmentAppLogsConfig;
|
|
180
|
+
/**
|
|
181
|
+
* VNet configuration for the environment
|
|
182
|
+
*/
|
|
183
|
+
readonly vnetConfiguration?: ContainerAppEnvironmentVnetConfig;
|
|
184
|
+
/**
|
|
185
|
+
* Workload profiles configured for the Managed Environment
|
|
186
|
+
*/
|
|
187
|
+
readonly workloadProfiles?: ContainerAppEnvironmentWorkloadProfile[];
|
|
188
|
+
/**
|
|
189
|
+
* Whether or not this Managed Environment is zone-redundant.
|
|
190
|
+
* @default false
|
|
191
|
+
*/
|
|
192
|
+
readonly zoneRedundant?: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Azure Monitor instrumentation key used by Dapr to export
|
|
195
|
+
* Service to Service communication telemetry
|
|
196
|
+
*/
|
|
197
|
+
readonly daprAIInstrumentationKey?: string;
|
|
198
|
+
/**
|
|
199
|
+
* Application Insights connection string used by Dapr to export
|
|
200
|
+
* Service to Service communication telemetry
|
|
201
|
+
*/
|
|
202
|
+
readonly daprAIConnectionString?: string;
|
|
203
|
+
/**
|
|
204
|
+
* Custom domain configuration for the environment
|
|
205
|
+
*/
|
|
206
|
+
readonly customDomainConfiguration?: ContainerAppEnvironmentCustomDomainConfig;
|
|
207
|
+
/**
|
|
208
|
+
* Name of the platform-managed resource group created for the Managed Environment
|
|
209
|
+
* to host infrastructure resources.
|
|
210
|
+
*/
|
|
211
|
+
readonly infrastructureResourceGroup?: string;
|
|
212
|
+
/**
|
|
213
|
+
* Peer authentication settings for the Managed Environment (mTLS).
|
|
214
|
+
* Available in API version 2025-07-01+.
|
|
215
|
+
*/
|
|
216
|
+
readonly peerAuthentication?: ContainerAppEnvironmentPeerAuthentication;
|
|
217
|
+
/**
|
|
218
|
+
* Peer traffic settings for the Managed Environment (encryption).
|
|
219
|
+
* Available in API version 2025-07-01+.
|
|
220
|
+
*/
|
|
221
|
+
readonly peerTrafficConfiguration?: ContainerAppEnvironmentPeerTrafficConfig;
|
|
222
|
+
/**
|
|
223
|
+
* Ingress configuration for the Managed Environment.
|
|
224
|
+
* Available in API version 2025-07-01+.
|
|
225
|
+
*/
|
|
226
|
+
readonly ingressConfiguration?: ContainerAppEnvironmentIngressConfig;
|
|
227
|
+
/**
|
|
228
|
+
* Property to allow or block all public traffic.
|
|
229
|
+
* Allowed Values: 'Enabled', 'Disabled'.
|
|
230
|
+
* Available in API version 2025-07-01+.
|
|
231
|
+
*/
|
|
232
|
+
readonly publicNetworkAccess?: string;
|
|
233
|
+
/**
|
|
234
|
+
* The lifecycle rules to ignore changes.
|
|
235
|
+
* @example ["tags"]
|
|
236
|
+
*/
|
|
237
|
+
readonly ignoreChanges?: string[];
|
|
238
|
+
/**
|
|
239
|
+
* Resource group ID where the Container App Environment will be created
|
|
240
|
+
*/
|
|
241
|
+
readonly resourceGroupId?: string;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* The resource body interface for Azure Container App Environment API calls
|
|
245
|
+
*/
|
|
246
|
+
export interface ContainerAppEnvironmentBody {
|
|
247
|
+
readonly location: string;
|
|
248
|
+
readonly tags?: {
|
|
249
|
+
[key: string]: string;
|
|
250
|
+
};
|
|
251
|
+
readonly properties?: any;
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Unified Azure Container App Managed Environment implementation
|
|
255
|
+
*
|
|
256
|
+
* Azure Container App Environments provide the hosting infrastructure for
|
|
257
|
+
* Container Apps. They manage the underlying Kubernetes cluster, networking,
|
|
258
|
+
* and observability resources.
|
|
259
|
+
*
|
|
260
|
+
* Key features:
|
|
261
|
+
* - Log Analytics and Azure Monitor integration for observability
|
|
262
|
+
* - VNet injection for network isolation
|
|
263
|
+
* - Workload profiles for compute customization (Consumption, Dedicated)
|
|
264
|
+
* - Zone redundancy for high availability
|
|
265
|
+
* - Custom domain support
|
|
266
|
+
* - Dapr integration for microservice patterns
|
|
267
|
+
* - Peer authentication (mTLS) and traffic encryption (2025-07-01+)
|
|
268
|
+
*
|
|
269
|
+
* @example
|
|
270
|
+
* // Basic environment with Log Analytics:
|
|
271
|
+
* const environment = new ContainerAppEnvironment(this, "env", {
|
|
272
|
+
* name: "my-container-env",
|
|
273
|
+
* location: "eastus",
|
|
274
|
+
* resourceGroupId: resourceGroup.id,
|
|
275
|
+
* appLogsConfiguration: {
|
|
276
|
+
* destination: "log-analytics",
|
|
277
|
+
* logAnalyticsConfiguration: {
|
|
278
|
+
* customerId: logAnalytics.workspaceId,
|
|
279
|
+
* sharedKey: logAnalytics.primarySharedKey,
|
|
280
|
+
* },
|
|
281
|
+
* },
|
|
282
|
+
* });
|
|
283
|
+
*
|
|
284
|
+
* @example
|
|
285
|
+
* // Environment with VNet injection and zone redundancy:
|
|
286
|
+
* const environment = new ContainerAppEnvironment(this, "env", {
|
|
287
|
+
* name: "my-container-env",
|
|
288
|
+
* location: "eastus",
|
|
289
|
+
* resourceGroupId: resourceGroup.id,
|
|
290
|
+
* vnetConfiguration: {
|
|
291
|
+
* infrastructureSubnetId: subnet.id,
|
|
292
|
+
* internal: true,
|
|
293
|
+
* },
|
|
294
|
+
* zoneRedundant: true,
|
|
295
|
+
* });
|
|
296
|
+
*
|
|
297
|
+
* @stability stable
|
|
298
|
+
*/
|
|
299
|
+
export declare class ContainerAppEnvironment extends AzapiResource {
|
|
300
|
+
readonly props: ContainerAppEnvironmentProps;
|
|
301
|
+
readonly idOutput: cdktn.TerraformOutput;
|
|
302
|
+
readonly locationOutput: cdktn.TerraformOutput;
|
|
303
|
+
readonly nameOutput: cdktn.TerraformOutput;
|
|
304
|
+
readonly tagsOutput: cdktn.TerraformOutput;
|
|
305
|
+
readonly defaultDomainOutput: cdktn.TerraformOutput;
|
|
306
|
+
readonly staticIpOutput: cdktn.TerraformOutput;
|
|
307
|
+
readonly provisioningStateOutput: cdktn.TerraformOutput;
|
|
308
|
+
/**
|
|
309
|
+
* Creates a new Azure Container App Managed Environment
|
|
310
|
+
*
|
|
311
|
+
* @param scope - The scope in which to define this construct
|
|
312
|
+
* @param id - The unique identifier for this instance
|
|
313
|
+
* @param props - Configuration properties for the Container App Environment
|
|
314
|
+
*/
|
|
315
|
+
constructor(scope: Construct, id: string, props: ContainerAppEnvironmentProps);
|
|
316
|
+
/**
|
|
317
|
+
* Gets the default API version to use when no explicit version is specified
|
|
318
|
+
*/
|
|
319
|
+
protected defaultVersion(): string;
|
|
320
|
+
/**
|
|
321
|
+
* Gets the Azure resource type for Container App Environments
|
|
322
|
+
*/
|
|
323
|
+
protected resourceType(): string;
|
|
324
|
+
/**
|
|
325
|
+
* Gets the API schema for the resolved version
|
|
326
|
+
*/
|
|
327
|
+
protected apiSchema(): ApiSchema;
|
|
328
|
+
/**
|
|
329
|
+
* Indicates that location is required for Container App Environments
|
|
330
|
+
*/
|
|
331
|
+
protected requiresLocation(): boolean;
|
|
332
|
+
/**
|
|
333
|
+
* Creates the resource body for the Azure API call
|
|
334
|
+
*/
|
|
335
|
+
protected createResourceBody(props: any): any;
|
|
336
|
+
/**
|
|
337
|
+
* Get the default domain of the Container App Environment
|
|
338
|
+
*/
|
|
339
|
+
get defaultDomain(): string;
|
|
340
|
+
/**
|
|
341
|
+
* Get the static IP of the Container App Environment
|
|
342
|
+
*/
|
|
343
|
+
get staticIp(): string;
|
|
344
|
+
/**
|
|
345
|
+
* Get the provisioning state of the Container App Environment
|
|
346
|
+
*/
|
|
347
|
+
get provisioningState(): string;
|
|
348
|
+
/**
|
|
349
|
+
* Add a tag to the Container App Environment
|
|
350
|
+
*/
|
|
351
|
+
addTag(key: string, value: string): void;
|
|
352
|
+
/**
|
|
353
|
+
* Remove a tag from the Container App Environment
|
|
354
|
+
*/
|
|
355
|
+
removeTag(key: string): void;
|
|
356
|
+
/**
|
|
357
|
+
* Customizes the resource configuration to handle Azure value normalization.
|
|
358
|
+
*
|
|
359
|
+
* Azure normalizes values in API responses:
|
|
360
|
+
* - Location: "eastus" → "East US"
|
|
361
|
+
* - Enum values: "auto" → "Auto", "enabled" → "Enabled"
|
|
362
|
+
*
|
|
363
|
+
* This override:
|
|
364
|
+
* 1. Removes `location` from the body (the framework passes it as a top-level
|
|
365
|
+
* attribute which the azapi provider normalizes properly)
|
|
366
|
+
* 2. Enables `ignoreCasing` to suppress diffs from Azure's value normalization
|
|
367
|
+
* (e.g., "auto" vs "Auto" for transport, "enabled" vs "Enabled")
|
|
368
|
+
*/
|
|
369
|
+
protected customizeResourceConfig(config: any): any;
|
|
370
|
+
/**
|
|
371
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
372
|
+
*/
|
|
373
|
+
private _applyIgnoreChanges;
|
|
374
|
+
}
|