@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.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 +54846 -26661
- package/API.md +72091 -23784
- package/lib/azure-actiongroup/index.d.ts +0 -10
- package/lib/azure-actiongroup/index.js +1 -11
- package/lib/azure-actiongroup/lib/action-group.d.ts +0 -10
- package/lib/azure-actiongroup/lib/action-group.js +6 -32
- package/lib/azure-actiongroup/lib/index.d.ts +1 -4
- package/lib/azure-actiongroup/lib/index.js +2 -5
- package/lib/azure-activitylogalert/index.d.ts +0 -10
- package/lib/azure-activitylogalert/index.js +1 -11
- package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +0 -10
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +6 -32
- package/lib/azure-activitylogalert/lib/index.d.ts +1 -4
- package/lib/azure-activitylogalert/lib/index.js +2 -5
- package/lib/azure-aks/index.d.ts +0 -8
- package/lib/azure-aks/index.js +1 -11
- package/lib/azure-aks/lib/aks-cluster.d.ts +4 -13
- package/lib/azure-aks/lib/aks-cluster.js +13 -36
- package/lib/azure-aks/lib/index.d.ts +1 -10
- package/lib/azure-aks/lib/index.js +2 -21
- package/lib/azure-diagnosticsettings/index.d.ts +0 -6
- package/lib/azure-diagnosticsettings/index.js +1 -7
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +0 -10
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +6 -32
- package/lib/azure-diagnosticsettings/lib/index.d.ts +1 -7
- package/lib/azure-diagnosticsettings/lib/index.js +2 -8
- package/lib/azure-dnsforwardingruleset/index.d.ts +1 -0
- package/lib/azure-dnsforwardingruleset/index.js +18 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.js +206 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +174 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +214 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.js +242 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +193 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +193 -0
- package/lib/azure-dnsforwardingruleset/lib/index.d.ts +6 -0
- package/lib/azure-dnsforwardingruleset/lib/index.js +23 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.js +199 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +160 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +178 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +133 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +350 -0
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +397 -0
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +285 -0
- package/lib/azure-dnsresolver/index.d.ts +1 -0
- package/lib/azure-dnsresolver/index.js +18 -0
- package/lib/azure-dnsresolver/lib/dns-resolver-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/dns-resolver-schemas.js +218 -0
- package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +170 -0
- package/lib/azure-dnsresolver/lib/dns-resolver.js +236 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.js +261 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +189 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +243 -0
- package/lib/azure-dnsresolver/lib/index.d.ts +6 -0
- package/lib/azure-dnsresolver/lib/index.js +23 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.js +231 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +175 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +234 -0
- package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +14 -0
- package/lib/azure-dnsresolver/test/dns-resolver.integ.js +117 -0
- package/lib/azure-dnsresolver/test/dns-resolver.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/dns-resolver.spec.js +353 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +9 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +151 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +441 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +9 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +149 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +301 -0
- package/lib/azure-dnszone/index.d.ts +1 -0
- package/lib/azure-dnszone/index.js +18 -0
- package/lib/azure-dnszone/lib/dns-zone-schemas.d.ts +24 -0
- package/lib/azure-dnszone/lib/dns-zone-schemas.js +191 -0
- package/lib/azure-dnszone/lib/dns-zone.d.ts +182 -0
- package/lib/azure-dnszone/lib/dns-zone.js +228 -0
- package/lib/azure-dnszone/lib/index.d.ts +2 -0
- package/lib/azure-dnszone/lib/index.js +19 -0
- package/lib/azure-dnszone/test/dns-zone.integ.d.ts +9 -0
- package/lib/azure-dnszone/test/dns-zone.integ.js +85 -0
- package/lib/azure-dnszone/test/dns-zone.spec.d.ts +9 -0
- package/lib/azure-dnszone/test/dns-zone.spec.js +285 -0
- package/lib/azure-metricalert/index.d.ts +0 -10
- package/lib/azure-metricalert/index.js +1 -11
- package/lib/azure-metricalert/lib/index.d.ts +1 -4
- package/lib/azure-metricalert/lib/index.js +2 -5
- package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -10
- package/lib/azure-metricalert/lib/metric-alert.js +6 -32
- package/lib/azure-networkinterface/index.d.ts +0 -3
- package/lib/azure-networkinterface/index.js +1 -4
- package/lib/azure-networkinterface/lib/index.d.ts +1 -5
- package/lib/azure-networkinterface/lib/index.js +2 -5
- package/lib/azure-networkinterface/lib/network-interface.d.ts +4 -9
- package/lib/azure-networkinterface/lib/network-interface.js +14 -29
- package/lib/azure-networkinterface/test/network-interface.integ.js +20 -6
- package/lib/azure-networksecuritygroup/index.d.ts +0 -5
- package/lib/azure-networksecuritygroup/index.js +1 -6
- package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -5
- package/lib/azure-networksecuritygroup/lib/index.js +17 -14
- package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +4 -13
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +14 -36
- package/lib/azure-policyassignment/index.d.ts +1 -0
- package/lib/azure-policyassignment/index.js +18 -0
- package/lib/azure-policyassignment/lib/index.d.ts +2 -0
- package/lib/azure-policyassignment/lib/index.js +19 -0
- package/lib/azure-policyassignment/lib/policy-assignment-schemas.d.ts +25 -0
- package/lib/azure-policyassignment/lib/policy-assignment-schemas.js +260 -0
- package/lib/azure-policyassignment/lib/policy-assignment.d.ts +342 -0
- package/lib/azure-policyassignment/lib/policy-assignment.js +228 -0
- package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +13 -0
- package/lib/azure-policyassignment/test/policy-assignment.integ.js +153 -0
- package/lib/azure-policyassignment/test/policy-assignment.spec.d.ts +9 -0
- package/lib/azure-policyassignment/test/policy-assignment.spec.js +651 -0
- package/lib/azure-policydefinition/index.d.ts +1 -0
- package/lib/azure-policydefinition/index.js +18 -0
- package/lib/azure-policydefinition/lib/index.d.ts +2 -0
- package/lib/azure-policydefinition/lib/index.js +19 -0
- package/lib/azure-policydefinition/lib/policy-definition-schemas.d.ts +25 -0
- package/lib/azure-policydefinition/lib/policy-definition-schemas.js +210 -0
- package/lib/azure-policydefinition/lib/policy-definition.d.ts +260 -0
- package/lib/azure-policydefinition/lib/policy-definition.js +199 -0
- package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +9 -0
- package/lib/azure-policydefinition/test/policy-definition.integ.js +137 -0
- package/lib/azure-policydefinition/test/policy-definition.spec.d.ts +9 -0
- package/lib/azure-policydefinition/test/policy-definition.spec.js +596 -0
- package/lib/azure-privatednszone/index.d.ts +1 -0
- package/lib/azure-privatednszone/index.js +18 -0
- package/lib/azure-privatednszone/lib/index.d.ts +2 -0
- package/lib/azure-privatednszone/lib/index.js +19 -0
- package/lib/azure-privatednszone/lib/private-dns-zone-schemas.d.ts +24 -0
- package/lib/azure-privatednszone/lib/private-dns-zone-schemas.js +254 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +178 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.js +272 -0
- package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +9 -0
- package/lib/azure-privatednszone/test/private-dns-zone.integ.js +84 -0
- package/lib/azure-privatednszone/test/private-dns-zone.spec.d.ts +9 -0
- package/lib/azure-privatednszone/test/private-dns-zone.spec.js +341 -0
- package/lib/azure-privatednszonelink/index.d.ts +1 -0
- package/lib/azure-privatednszonelink/index.js +18 -0
- package/lib/azure-privatednszonelink/lib/index.d.ts +2 -0
- package/lib/azure-privatednszonelink/lib/index.js +19 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.d.ts +24 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.js +262 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +202 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +250 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +9 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +110 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.d.ts +9 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +465 -0
- package/lib/azure-publicipaddress/index.d.ts +0 -5
- package/lib/azure-publicipaddress/index.js +1 -6
- package/lib/azure-publicipaddress/lib/index.d.ts +2 -9
- package/lib/azure-publicipaddress/lib/index.js +17 -17
- package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +4 -13
- package/lib/azure-publicipaddress/lib/public-ip-address.js +14 -36
- package/lib/azure-resourcegroup/index.d.ts +0 -37
- package/lib/azure-resourcegroup/index.js +1 -39
- package/lib/azure-resourcegroup/lib/index.d.ts +1 -44
- package/lib/azure-resourcegroup/lib/index.js +2 -43
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +9 -23
- package/lib/azure-resourcegroup/lib/resource-group.js +23 -56
- package/lib/azure-resourcegroup/test/resource-group.spec.js +13 -19
- package/lib/azure-roleassignment/index.d.ts +1 -0
- package/lib/azure-roleassignment/index.js +18 -0
- package/lib/azure-roleassignment/lib/index.d.ts +2 -0
- package/lib/azure-roleassignment/lib/index.js +19 -0
- package/lib/azure-roleassignment/lib/role-assignment-schemas.d.ts +25 -0
- package/lib/azure-roleassignment/lib/role-assignment-schemas.js +238 -0
- package/lib/azure-roleassignment/lib/role-assignment.d.ts +294 -0
- package/lib/azure-roleassignment/lib/role-assignment.js +257 -0
- package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +12 -0
- package/lib/azure-roleassignment/test/role-assignment.integ.js +101 -0
- package/lib/azure-roleassignment/test/role-assignment.spec.d.ts +9 -0
- package/lib/azure-roleassignment/test/role-assignment.spec.js +633 -0
- package/lib/azure-roledefinition/index.d.ts +1 -0
- package/lib/azure-roledefinition/index.js +18 -0
- package/lib/azure-roledefinition/lib/index.d.ts +2 -0
- package/lib/azure-roledefinition/lib/index.js +19 -0
- package/lib/azure-roledefinition/lib/role-definition-schemas.d.ts +25 -0
- package/lib/azure-roledefinition/lib/role-definition-schemas.js +195 -0
- package/lib/azure-roledefinition/lib/role-definition.d.ts +236 -0
- package/lib/azure-roledefinition/lib/role-definition.js +192 -0
- package/lib/azure-roledefinition/test/role-definition.integ.d.ts +12 -0
- package/lib/azure-roledefinition/test/role-definition.integ.js +142 -0
- package/lib/azure-roledefinition/test/role-definition.spec.d.ts +9 -0
- package/lib/azure-roledefinition/test/role-definition.spec.js +946 -0
- package/lib/azure-storageaccount/index.d.ts +0 -19
- package/lib/azure-storageaccount/index.js +1 -20
- package/lib/azure-storageaccount/lib/index.d.ts +1 -7
- package/lib/azure-storageaccount/lib/index.js +2 -8
- package/lib/azure-storageaccount/lib/storage-account.d.ts +4 -9
- package/lib/azure-storageaccount/lib/storage-account.js +15 -29
- package/lib/azure-subnet/index.d.ts +0 -3
- package/lib/azure-subnet/index.js +1 -4
- package/lib/azure-subnet/lib/index.d.ts +1 -4
- package/lib/azure-subnet/lib/index.js +2 -5
- package/lib/azure-subnet/lib/subnet.d.ts +3 -14
- package/lib/azure-subnet/lib/subnet.js +28 -47
- package/lib/azure-subnet/test/subnet.integ.js +19 -7
- package/lib/azure-subnet/test/subnet.spec.js +1 -2
- package/lib/azure-virtualmachine/index.d.ts +0 -6
- package/lib/azure-virtualmachine/index.js +1 -7
- package/lib/azure-virtualmachine/lib/index.d.ts +1 -10
- package/lib/azure-virtualmachine/lib/index.js +2 -21
- package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +4 -13
- package/lib/azure-virtualmachine/lib/virtual-machine.js +15 -36
- package/lib/azure-virtualnetwork/index.d.ts +0 -9
- package/lib/azure-virtualnetwork/index.js +1 -11
- package/lib/azure-virtualnetwork/lib/index.d.ts +2 -9
- package/lib/azure-virtualnetwork/lib/index.js +17 -20
- package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +4 -13
- package/lib/azure-virtualnetwork/lib/virtual-network.js +15 -36
- package/lib/azure-virtualnetworkmanager/index.d.ts +1 -0
- package/lib/azure-virtualnetworkmanager/index.js +18 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.d.ts +48 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.js +265 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +185 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +206 -0
- package/lib/azure-virtualnetworkmanager/lib/index.d.ts +14 -0
- package/lib/azure-virtualnetworkmanager/lib/index.js +31 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.js +189 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.js +201 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +135 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +163 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +139 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +158 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.js +182 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +144 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +164 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.d.ts +38 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.js +206 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +142 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +162 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.d.ts +39 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.js +359 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +221 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +204 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.js +236 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +337 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +283 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +25 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +402 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.d.ts +9 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +1652 -0
- package/lib/azure-vmss/index.d.ts +0 -5
- package/lib/azure-vmss/index.js +1 -6
- package/lib/azure-vmss/lib/index.d.ts +0 -7
- package/lib/azure-vmss/lib/index.js +1 -21
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +5 -13
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +29 -53
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.d.ts +10 -0
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +218 -0
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +178 -26
- package/lib/core-azure/lib/azapi/azapi-resource.js +328 -90
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +5 -3
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
- package/lib/core-azure/lib/azapi/resource-schema-validator.d.ts +118 -0
- package/lib/core-azure/lib/azapi/resource-schema-validator.js +236 -0
- package/lib/core-azure/lib/azapi/resource-version-manager.d.ts +103 -0
- package/lib/core-azure/lib/azapi/resource-version-manager.js +168 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +11 -6
- package/lib/core-azure/lib/index.d.ts +2 -2
- package/lib/core-azure/lib/index.js +5 -5
- 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 +19 -0
- package/lib/index.js +21 -2
- package/lib/testing/index.js +2 -2
- package/lib/testing/lib/cleanup.d.ts +1 -0
- package/lib/testing/lib/cleanup.js +19 -12
- package/lib/testing/lib/metadata.js +19 -16
- package/package.json +1 -1
- package/scripts/cleanup-test-resources.ts +22 -4
- package/scripts/generate-index.js +25 -8
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Private DNS Zone Virtual Network Links across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Network/privateDnsZones/virtualNetworkLinks
|
|
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.PRIVATE_DNS_ZONE_LINK_TYPE = exports.ALL_PRIVATE_DNS_ZONE_LINK_VERSIONS = exports.PRIVATE_DNS_ZONE_LINK_VERSION_2024_06_01 = exports.PRIVATE_DNS_ZONE_LINK_SCHEMA_2024_06_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 Private DNS Zone Virtual Network Link versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_PROPERTIES = {
|
|
19
|
+
location: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: true,
|
|
22
|
+
defaultValue: "global",
|
|
23
|
+
description: "The Azure region where the Virtual Network Link will be created. Virtual Network Links are typically 'global' resources",
|
|
24
|
+
validation: [
|
|
25
|
+
{
|
|
26
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
27
|
+
message: "Location is required for Virtual Network Links",
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
},
|
|
31
|
+
tags: {
|
|
32
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
33
|
+
required: false,
|
|
34
|
+
defaultValue: {},
|
|
35
|
+
description: "A dictionary of tags to apply to the Virtual Network Link for organizational, billing, or other purposes",
|
|
36
|
+
validation: [
|
|
37
|
+
{
|
|
38
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
39
|
+
value: version_interfaces_1.PropertyType.OBJECT,
|
|
40
|
+
message: "Tags must be an object with string key-value pairs",
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
},
|
|
44
|
+
name: {
|
|
45
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
46
|
+
required: true,
|
|
47
|
+
description: "The name of the Virtual Network Link. Must be unique within the Private DNS Zone",
|
|
48
|
+
validation: [
|
|
49
|
+
{
|
|
50
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
51
|
+
message: "Virtual Network Link name is required",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
55
|
+
value: "^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$",
|
|
56
|
+
message: "Virtual Network Link name must start and end with alphanumeric characters and can contain hyphens",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
60
|
+
value: { minLength: 1, maxLength: 80 },
|
|
61
|
+
message: "Virtual Network Link name must be between 1 and 80 characters",
|
|
62
|
+
},
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
privateDnsZoneId: {
|
|
66
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
67
|
+
required: true,
|
|
68
|
+
description: "The resource ID of the parent Private DNS Zone to link the virtual network to",
|
|
69
|
+
validation: [
|
|
70
|
+
{
|
|
71
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
72
|
+
message: "Private DNS Zone ID is required",
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
76
|
+
value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/privateDnsZones/[^/]+$",
|
|
77
|
+
message: "Private DNS Zone ID must be a valid resource ID",
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
},
|
|
81
|
+
virtualNetworkId: {
|
|
82
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
83
|
+
required: true,
|
|
84
|
+
description: "The resource ID of the Virtual Network to link to the Private DNS Zone",
|
|
85
|
+
validation: [
|
|
86
|
+
{
|
|
87
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
88
|
+
message: "Virtual Network ID is required",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
92
|
+
value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/virtualNetworks/[^/]+$",
|
|
93
|
+
message: "Virtual Network ID must be a valid resource ID",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
registrationEnabled: {
|
|
98
|
+
dataType: version_interfaces_1.PropertyType.BOOLEAN,
|
|
99
|
+
required: false,
|
|
100
|
+
defaultValue: false,
|
|
101
|
+
description: "Whether auto-registration of virtual machine records is enabled in the virtual network in the Private DNS zone",
|
|
102
|
+
validation: [
|
|
103
|
+
{
|
|
104
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
105
|
+
value: version_interfaces_1.PropertyType.BOOLEAN,
|
|
106
|
+
message: "RegistrationEnabled must be a boolean value",
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
resolutionPolicy: {
|
|
111
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
112
|
+
required: false,
|
|
113
|
+
description: "The resolution policy for the virtual network link. Only applicable to Private Link zones (zones ending with 'privatelink.*'). Possible values: 'Default' (standard resolution) or 'NxDomainRedirect' (fallback to Azure DNS for unresolved queries)",
|
|
114
|
+
validation: [
|
|
115
|
+
{
|
|
116
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
117
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
118
|
+
message: "ResolutionPolicy must be a string",
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
},
|
|
122
|
+
ignoreChanges: {
|
|
123
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
124
|
+
required: false,
|
|
125
|
+
description: "Array of property names to ignore during updates",
|
|
126
|
+
validation: [
|
|
127
|
+
{
|
|
128
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
129
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
130
|
+
message: "IgnoreChanges must be an array of strings",
|
|
131
|
+
},
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
};
|
|
135
|
+
// =============================================================================
|
|
136
|
+
// READ-ONLY PROPERTY DEFINITIONS
|
|
137
|
+
// =============================================================================
|
|
138
|
+
/**
|
|
139
|
+
* Read-only properties that are populated by Azure after creation
|
|
140
|
+
* These properties should not be included in the request body
|
|
141
|
+
*/
|
|
142
|
+
const READ_ONLY_PROPERTIES = {
|
|
143
|
+
provisioningState: {
|
|
144
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
145
|
+
required: false,
|
|
146
|
+
description: "The provisioning state of the Virtual Network Link resource (read-only)",
|
|
147
|
+
validation: [
|
|
148
|
+
{
|
|
149
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
150
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
151
|
+
message: "ProvisioningState must be a string",
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
virtualNetworkLinkState: {
|
|
156
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
157
|
+
required: false,
|
|
158
|
+
description: "The state of the virtual network link (read-only). Possible values: 'InProgress', 'Completed'",
|
|
159
|
+
validation: [
|
|
160
|
+
{
|
|
161
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
162
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
163
|
+
message: "VirtualNetworkLinkState must be a string",
|
|
164
|
+
},
|
|
165
|
+
],
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
// =============================================================================
|
|
169
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
170
|
+
// =============================================================================
|
|
171
|
+
/**
|
|
172
|
+
* API Schema for Private DNS Zone Virtual Network Link version 2024-06-01
|
|
173
|
+
*/
|
|
174
|
+
exports.PRIVATE_DNS_ZONE_LINK_SCHEMA_2024_06_01 = {
|
|
175
|
+
resourceType: "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
|
|
176
|
+
version: "2024-06-01",
|
|
177
|
+
properties: {
|
|
178
|
+
...COMMON_PROPERTIES,
|
|
179
|
+
...READ_ONLY_PROPERTIES,
|
|
180
|
+
},
|
|
181
|
+
required: ["location", "name", "privateDnsZoneId", "virtualNetworkId"],
|
|
182
|
+
optional: [
|
|
183
|
+
"tags",
|
|
184
|
+
"registrationEnabled",
|
|
185
|
+
"resolutionPolicy",
|
|
186
|
+
"ignoreChanges",
|
|
187
|
+
],
|
|
188
|
+
deprecated: [],
|
|
189
|
+
transformationRules: {},
|
|
190
|
+
validationRules: [
|
|
191
|
+
{
|
|
192
|
+
property: "location",
|
|
193
|
+
rules: [
|
|
194
|
+
{
|
|
195
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
196
|
+
message: "Location is required for Virtual Network Links",
|
|
197
|
+
},
|
|
198
|
+
],
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
property: "name",
|
|
202
|
+
rules: [
|
|
203
|
+
{
|
|
204
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
205
|
+
message: "Name is required for Virtual Network Links",
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
property: "privateDnsZoneId",
|
|
211
|
+
rules: [
|
|
212
|
+
{
|
|
213
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
214
|
+
message: "Private DNS Zone ID is required for Virtual Network Links",
|
|
215
|
+
},
|
|
216
|
+
],
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
property: "virtualNetworkId",
|
|
220
|
+
rules: [
|
|
221
|
+
{
|
|
222
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
223
|
+
message: "Virtual Network ID is required for Virtual Network Links",
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
};
|
|
229
|
+
// =============================================================================
|
|
230
|
+
// VERSION CONFIGURATIONS
|
|
231
|
+
// =============================================================================
|
|
232
|
+
/**
|
|
233
|
+
* Version configuration for Private DNS Zone Virtual Network Link 2024-06-01
|
|
234
|
+
*/
|
|
235
|
+
exports.PRIVATE_DNS_ZONE_LINK_VERSION_2024_06_01 = {
|
|
236
|
+
version: "2024-06-01",
|
|
237
|
+
schema: exports.PRIVATE_DNS_ZONE_LINK_SCHEMA_2024_06_01,
|
|
238
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
239
|
+
releaseDate: "2024-06-01",
|
|
240
|
+
deprecationDate: undefined,
|
|
241
|
+
sunsetDate: undefined,
|
|
242
|
+
breakingChanges: [],
|
|
243
|
+
migrationGuide: "/docs/private-dns-zone-link/migration-2024-06-01",
|
|
244
|
+
changeLog: [
|
|
245
|
+
{
|
|
246
|
+
changeType: "added",
|
|
247
|
+
description: "Latest stable release of Private DNS Zone Virtual Network Links API with full support for VNet linking and auto-registration",
|
|
248
|
+
breaking: false,
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
};
|
|
252
|
+
/**
|
|
253
|
+
* All supported Private DNS Zone Virtual Network Link versions for registration
|
|
254
|
+
*/
|
|
255
|
+
exports.ALL_PRIVATE_DNS_ZONE_LINK_VERSIONS = [
|
|
256
|
+
exports.PRIVATE_DNS_ZONE_LINK_VERSION_2024_06_01,
|
|
257
|
+
];
|
|
258
|
+
/**
|
|
259
|
+
* Resource type constant
|
|
260
|
+
*/
|
|
261
|
+
exports.PRIVATE_DNS_ZONE_LINK_TYPE = "Microsoft.Network/privateDnsZones/virtualNetworkLinks";
|
|
262
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS1kbnMtem9uZS1saW5rLXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtcHJpdmF0ZWRuc3pvbmVsaW5rL2xpYi9wcml2YXRlLWRucy16b25lLWxpbmstc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwyR0FPNEU7QUFFNUUsZ0ZBQWdGO0FBQ2hGLDhCQUE4QjtBQUM5QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUEwQztJQUMvRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsWUFBWSxFQUFFLFFBQVE7UUFDdEIsV0FBVyxFQUNULHlIQUF5SDtRQUMzSCxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLGdEQUFnRDthQUMxRDtTQUNGO0tBQ0Y7SUFDRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUNULDBHQUEwRztRQUM1RyxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsVUFBVTtnQkFDdkMsS0FBSyxFQUFFLGlDQUFZLENBQUMsTUFBTTtnQkFDMUIsT0FBTyxFQUFFLG9EQUFvRDthQUM5RDtTQUNGO0tBQ0Y7SUFDRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULGtGQUFrRjtRQUNwRixVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLHVDQUF1QzthQUNq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RSwyREFBMkQ7aUJBQ3JFO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLGtCQUFrQjtZQUM1QixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSwwREFBMEQ7aUJBQ3BFO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRix5QkFBeUI7QUFDekIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ1UsUUFBQSx3Q0FBd0MsR0FBa0I7SUFDckUsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLCtDQUF1QztJQUMvQyxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsa0RBQWtEO0lBQ2xFLFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUNULDhIQUE4SDtZQUNoSSxRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxrQ0FBa0MsR0FBb0I7SUFDakUsZ0RBQXdDO0NBQ3pDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsMEJBQTBCLEdBQ3JDLHVEQUF1RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgUHJpdmF0ZSBETlMgWm9uZSBWaXJ0dWFsIE5ldHdvcmsgTGlua3MgYWNyb3NzIGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29tcGxldGUgQVBJIHNjaGVtYXMgZm9yIE1pY3Jvc29mdC5OZXR3b3JrL3ByaXZhdGVEbnNab25lcy92aXJ0dWFsTmV0d29ya0xpbmtzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBQcml2YXRlIEROUyBab25lIFZpcnR1YWwgTmV0d29yayBMaW5rIHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBsb2NhdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlZmF1bHRWYWx1ZTogXCJnbG9iYWxcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgVmlydHVhbCBOZXR3b3JrIExpbmsgd2lsbCBiZSBjcmVhdGVkLiBWaXJ0dWFsIE5ldHdvcmsgTGlua3MgYXJlIHR5cGljYWxseSAnZ2xvYmFsJyByZXNvdXJjZXNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIFZpcnR1YWwgTmV0d29yayBMaW5rc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICB0YWdzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZToge30sXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIkEgZGljdGlvbmFyeSBvZiB0YWdzIHRvIGFwcGx5IHRvIHRoZSBWaXJ0dWFsIE5ldHdvcmsgTGluayBmb3Igb3JnYW5pemF0aW9uYWwsIGJpbGxpbmcsIG9yIG90aGVyIHB1cnBvc2VzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIlRhZ3MgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG5hbWUgb2YgdGhlIFZpcnR1YWwgTmV0d29yayBMaW5rLiBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIFByaXZhdGUgRE5TIFpvbmVcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiVmlydHVhbCBOZXR3b3JrIExpbmsgbmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV0oW2EtekEtWjAtOS1dKlthLXpBLVowLTldKT8kXCIsXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJWaXJ0dWFsIE5ldHdvcmsgTGluayBuYW1lIG11c3Qgc3RhcnQgYW5kIGVuZCB3aXRoIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBjYW4gY29udGFpbiBoeXBoZW5zXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlZBTFVFX1JBTkdFLFxuICAgICAgICB2YWx1ZTogeyBtaW5MZW5ndGg6IDEsIG1heExlbmd0aDogODAgfSxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIlZpcnR1YWwgTmV0d29yayBMaW5rIG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDgwIGNoYXJhY3RlcnNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcHJpdmF0ZURuc1pvbmVJZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcmVzb3VyY2UgSUQgb2YgdGhlIHBhcmVudCBQcml2YXRlIEROUyBab25lIHRvIGxpbmsgdGhlIHZpcnR1YWwgbmV0d29yayB0b1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJQcml2YXRlIEROUyBab25lIElEIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOlxuICAgICAgICAgIFwiXi9zdWJzY3JpcHRpb25zL1teL10rL3Jlc291cmNlR3JvdXBzL1teL10rL3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay9wcml2YXRlRG5zWm9uZXMvW14vXSskXCIsXG4gICAgICAgIG1lc3NhZ2U6IFwiUHJpdmF0ZSBETlMgWm9uZSBJRCBtdXN0IGJlIGEgdmFsaWQgcmVzb3VyY2UgSURcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgdmlydHVhbE5ldHdvcmtJZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcmVzb3VyY2UgSUQgb2YgdGhlIFZpcnR1YWwgTmV0d29yayB0byBsaW5rIHRvIHRoZSBQcml2YXRlIEROUyBab25lXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIlZpcnR1YWwgTmV0d29yayBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTpcbiAgICAgICAgICBcIl4vc3Vic2NyaXB0aW9ucy9bXi9dKy9yZXNvdXJjZUdyb3Vwcy9bXi9dKy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvdmlydHVhbE5ldHdvcmtzL1teL10rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIlZpcnR1YWwgTmV0d29yayBJRCBtdXN0IGJlIGEgdmFsaWQgcmVzb3VyY2UgSURcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcmVnaXN0cmF0aW9uRW5hYmxlZDoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQk9PTEVBTixcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiV2hldGhlciBhdXRvLXJlZ2lzdHJhdGlvbiBvZiB2aXJ0dWFsIG1hY2hpbmUgcmVjb3JkcyBpcyBlbmFibGVkIGluIHRoZSB2aXJ0dWFsIG5ldHdvcmsgaW4gdGhlIFByaXZhdGUgRE5TIHpvbmVcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5CT09MRUFOLFxuICAgICAgICBtZXNzYWdlOiBcIlJlZ2lzdHJhdGlvbkVuYWJsZWQgbXVzdCBiZSBhIGJvb2xlYW4gdmFsdWVcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgcmVzb2x1dGlvblBvbGljeToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHJlc29sdXRpb24gcG9saWN5IGZvciB0aGUgdmlydHVhbCBuZXR3b3JrIGxpbmsuIE9ubHkgYXBwbGljYWJsZSB0byBQcml2YXRlIExpbmsgem9uZXMgKHpvbmVzIGVuZGluZyB3aXRoICdwcml2YXRlbGluay4qJykuIFBvc3NpYmxlIHZhbHVlczogJ0RlZmF1bHQnIChzdGFuZGFyZCByZXNvbHV0aW9uKSBvciAnTnhEb21haW5SZWRpcmVjdCcgKGZhbGxiYWNrIHRvIEF6dXJlIEROUyBmb3IgdW5yZXNvbHZlZCBxdWVyaWVzKVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICAgICAgbWVzc2FnZTogXCJSZXNvbHV0aW9uUG9saWN5IG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaWdub3JlQ2hhbmdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFycmF5IG9mIHByb3BlcnR5IG5hbWVzIHRvIGlnbm9yZSBkdXJpbmcgdXBkYXRlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklnbm9yZUNoYW5nZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUkVBRC1PTkxZIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlYWQtb25seSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHBvcHVsYXRlZCBieSBBenVyZSBhZnRlciBjcmVhdGlvblxuICogVGhlc2UgcHJvcGVydGllcyBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGJvZHlcbiAqL1xuY29uc3QgUkVBRF9PTkxZX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIHByb3Zpc2lvbmluZ1N0YXRlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgTGluayByZXNvdXJjZSAocmVhZC1vbmx5KVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICAgICAgbWVzc2FnZTogXCJQcm92aXNpb25pbmdTdGF0ZSBtdXN0IGJlIGEgc3RyaW5nXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHZpcnR1YWxOZXR3b3JrTGlua1N0YXRlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgc3RhdGUgb2YgdGhlIHZpcnR1YWwgbmV0d29yayBsaW5rIChyZWFkLW9ubHkpLiBQb3NzaWJsZSB2YWx1ZXM6ICdJblByb2dyZXNzJywgJ0NvbXBsZXRlZCdcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiVmlydHVhbE5ldHdvcmtMaW5rU3RhdGUgbXVzdCBiZSBhIHN0cmluZ1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04tU1BFQ0lGSUMgU0NIRU1BU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBQcml2YXRlIEROUyBab25lIFZpcnR1YWwgTmV0d29yayBMaW5rIHZlcnNpb24gMjAyNC0wNi0wMVxuICovXG5leHBvcnQgY29uc3QgUFJJVkFURV9ETlNfWk9ORV9MSU5LX1NDSEVNQV8yMDI0XzA2XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay9wcml2YXRlRG5zWm9uZXMvdmlydHVhbE5ldHdvcmtMaW5rc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjQtMDYtMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICAgIC4uLlJFQURfT05MWV9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIiwgXCJuYW1lXCIsIFwicHJpdmF0ZURuc1pvbmVJZFwiLCBcInZpcnR1YWxOZXR3b3JrSWRcIl0sXG4gIG9wdGlvbmFsOiBbXG4gICAgXCJ0YWdzXCIsXG4gICAgXCJyZWdpc3RyYXRpb25FbmFibGVkXCIsXG4gICAgXCJyZXNvbHV0aW9uUG9saWN5XCIsXG4gICAgXCJpZ25vcmVDaGFuZ2VzXCIsXG4gIF0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibG9jYXRpb25cIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIFZpcnR1YWwgTmV0d29yayBMaW5rc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZCBmb3IgVmlydHVhbCBOZXR3b3JrIExpbmtzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwicHJpdmF0ZURuc1pvbmVJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJQcml2YXRlIEROUyBab25lIElEIGlzIHJlcXVpcmVkIGZvciBWaXJ0dWFsIE5ldHdvcmsgTGlua3NcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJ2aXJ0dWFsTmV0d29ya0lkXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIlZpcnR1YWwgTmV0d29yayBJRCBpcyByZXF1aXJlZCBmb3IgVmlydHVhbCBOZXR3b3JrIExpbmtzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTiBDT05GSUdVUkFUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIFByaXZhdGUgRE5TIFpvbmUgVmlydHVhbCBOZXR3b3JrIExpbmsgMjAyNC0wNi0wMVxuICovXG5leHBvcnQgY29uc3QgUFJJVkFURV9ETlNfWk9ORV9MSU5LX1ZFUlNJT05fMjAyNF8wNl8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDI0LTA2LTAxXCIsXG4gIHNjaGVtYTogUFJJVkFURV9ETlNfWk9ORV9MSU5LX1NDSEVNQV8yMDI0XzA2XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA2LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3ByaXZhdGUtZG5zLXpvbmUtbGluay9taWdyYXRpb24tMjAyNC0wNi0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJMYXRlc3Qgc3RhYmxlIHJlbGVhc2Ugb2YgUHJpdmF0ZSBETlMgWm9uZSBWaXJ0dWFsIE5ldHdvcmsgTGlua3MgQVBJIHdpdGggZnVsbCBzdXBwb3J0IGZvciBWTmV0IGxpbmtpbmcgYW5kIGF1dG8tcmVnaXN0cmF0aW9uXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBQcml2YXRlIEROUyBab25lIFZpcnR1YWwgTmV0d29yayBMaW5rIHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9QUklWQVRFX0ROU19aT05FX0xJTktfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgUFJJVkFURV9ETlNfWk9ORV9MSU5LX1ZFUlNJT05fMjAyNF8wNl8wMSxcbl07XG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBjb25zdGFudFxuICovXG5leHBvcnQgY29uc3QgUFJJVkFURV9ETlNfWk9ORV9MSU5LX1RZUEUgPVxuICBcIk1pY3Jvc29mdC5OZXR3b3JrL3ByaXZhdGVEbnNab25lcy92aXJ0dWFsTmV0d29ya0xpbmtzXCI7XG4iXX0=
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Private DNS Zone Virtual Network Link implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for linking virtual networks to private DNS zones.
|
|
5
|
+
* Virtual Network Links enable DNS resolution from VNets and optionally support auto-registration
|
|
6
|
+
* of VM records.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2024-06-01 (Active, Latest)
|
|
10
|
+
*
|
|
11
|
+
* Features:
|
|
12
|
+
* - Automatic latest version resolution when no version is specified
|
|
13
|
+
* - Explicit version pinning for stability requirements
|
|
14
|
+
* - Schema-driven validation and transformation
|
|
15
|
+
* - Full backward compatibility
|
|
16
|
+
* - JSII compliance for multi-language support
|
|
17
|
+
* - Auto-registration support for VM DNS records
|
|
18
|
+
* - Resolution policy configuration
|
|
19
|
+
*/
|
|
20
|
+
import * as cdktf from "cdktf";
|
|
21
|
+
import { Construct } from "constructs";
|
|
22
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
23
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
24
|
+
/**
|
|
25
|
+
* Properties for the Azure Private DNS Zone Virtual Network Link
|
|
26
|
+
*
|
|
27
|
+
* Extends AzapiResourceProps with Virtual Network Link specific properties
|
|
28
|
+
*/
|
|
29
|
+
export interface PrivateDnsZoneLinkProps extends AzapiResourceProps {
|
|
30
|
+
/**
|
|
31
|
+
* Resource ID of the parent Private DNS Zone
|
|
32
|
+
* @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/privateDnsZones/internal.contoso.com"
|
|
33
|
+
*/
|
|
34
|
+
readonly privateDnsZoneId: string;
|
|
35
|
+
/**
|
|
36
|
+
* Resource ID of the Virtual Network to link
|
|
37
|
+
* @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1"
|
|
38
|
+
*/
|
|
39
|
+
readonly virtualNetworkId: string;
|
|
40
|
+
/**
|
|
41
|
+
* Whether auto-registration of virtual machine records is enabled
|
|
42
|
+
* When enabled, VMs in the VNet will automatically register DNS records
|
|
43
|
+
* @defaultValue false
|
|
44
|
+
*/
|
|
45
|
+
readonly registrationEnabled?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* The resolution policy for the virtual network link
|
|
48
|
+
* Only applicable to Private Link zones (zones containing "privatelink." in the name)
|
|
49
|
+
* - "Default": Standard DNS resolution
|
|
50
|
+
* - "NxDomainRedirect": Fallback to Azure DNS for unresolved queries
|
|
51
|
+
* Note: This property will be silently ignored if the zone is not a Private Link zone
|
|
52
|
+
*/
|
|
53
|
+
readonly resolutionPolicy?: string;
|
|
54
|
+
/**
|
|
55
|
+
* The lifecycle rules to ignore changes
|
|
56
|
+
* @example ["tags"]
|
|
57
|
+
*/
|
|
58
|
+
readonly ignoreChanges?: string[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Virtual Network reference for the Private DNS Zone link
|
|
62
|
+
*/
|
|
63
|
+
export interface PrivateDnsZoneLinkVirtualNetworkReference {
|
|
64
|
+
readonly id: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Properties for Virtual Network Link body
|
|
68
|
+
*/
|
|
69
|
+
export interface PrivateDnsZoneLinkProperties {
|
|
70
|
+
readonly virtualNetwork: PrivateDnsZoneLinkVirtualNetworkReference;
|
|
71
|
+
readonly registrationEnabled?: boolean;
|
|
72
|
+
readonly resolutionPolicy?: string;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The resource body interface for Azure Virtual Network Link API calls
|
|
76
|
+
*/
|
|
77
|
+
export interface PrivateDnsZoneLinkBody {
|
|
78
|
+
readonly location: string;
|
|
79
|
+
readonly tags?: {
|
|
80
|
+
[key: string]: string;
|
|
81
|
+
};
|
|
82
|
+
readonly properties: PrivateDnsZoneLinkProperties;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Azure Private DNS Zone Virtual Network Link implementation
|
|
86
|
+
*
|
|
87
|
+
* Virtual Network Links connect private DNS zones to virtual networks, enabling DNS
|
|
88
|
+
* resolution from those VNets. They support auto-registration of VM DNS records and
|
|
89
|
+
* configurable resolution policies.
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* // Basic virtual network link:
|
|
93
|
+
* const link = new PrivateDnsZoneLink(this, "vnet-link", {
|
|
94
|
+
* name: "my-vnet-link",
|
|
95
|
+
* privateDnsZoneId: privateDnsZone.id,
|
|
96
|
+
* virtualNetworkId: vnet.id,
|
|
97
|
+
* location: "global"
|
|
98
|
+
* });
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* // Virtual network link with auto-registration:
|
|
102
|
+
* const link = new PrivateDnsZoneLink(this, "vnet-link", {
|
|
103
|
+
* name: "my-vnet-link",
|
|
104
|
+
* privateDnsZoneId: privateDnsZone.id,
|
|
105
|
+
* virtualNetworkId: vnet.id,
|
|
106
|
+
* registrationEnabled: true,
|
|
107
|
+
* location: "global"
|
|
108
|
+
* });
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* // Virtual network link with resolution policy:
|
|
112
|
+
* const link = new PrivateDnsZoneLink(this, "vnet-link", {
|
|
113
|
+
* name: "my-vnet-link",
|
|
114
|
+
* privateDnsZoneId: privateDnsZone.id,
|
|
115
|
+
* virtualNetworkId: vnet.id,
|
|
116
|
+
* resolutionPolicy: "NxDomainRedirect",
|
|
117
|
+
* location: "global",
|
|
118
|
+
* apiVersion: "2024-06-01"
|
|
119
|
+
* });
|
|
120
|
+
*
|
|
121
|
+
* @stability stable
|
|
122
|
+
*/
|
|
123
|
+
export declare class PrivateDnsZoneLink extends AzapiResource {
|
|
124
|
+
/**
|
|
125
|
+
* The input properties for this Virtual Network Link instance
|
|
126
|
+
*/
|
|
127
|
+
readonly props: PrivateDnsZoneLinkProps;
|
|
128
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
129
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
130
|
+
readonly locationOutput: cdktf.TerraformOutput;
|
|
131
|
+
readonly provisioningStateOutput: cdktf.TerraformOutput;
|
|
132
|
+
readonly virtualNetworkLinkStateOutput: cdktf.TerraformOutput;
|
|
133
|
+
/**
|
|
134
|
+
* Creates a new Azure Private DNS Zone Virtual Network Link using the AzapiResource framework
|
|
135
|
+
*
|
|
136
|
+
* @param scope - The scope in which to define this construct
|
|
137
|
+
* @param id - The unique identifier for this instance
|
|
138
|
+
* @param props - Configuration properties for the Virtual Network Link
|
|
139
|
+
*/
|
|
140
|
+
constructor(scope: Construct, id: string, props: PrivateDnsZoneLinkProps);
|
|
141
|
+
/**
|
|
142
|
+
* Gets the default location for this resource type
|
|
143
|
+
* Private DNS Zone Links use "global" location
|
|
144
|
+
*/
|
|
145
|
+
protected defaultLocation(): string;
|
|
146
|
+
/**
|
|
147
|
+
* Resolves the parent resource ID for the Virtual Network Link
|
|
148
|
+
* Virtual Network Links are child resources of Private DNS Zones
|
|
149
|
+
*/
|
|
150
|
+
protected resolveParentId(props: any): string;
|
|
151
|
+
/**
|
|
152
|
+
* Gets the default API version to use when no explicit version is specified
|
|
153
|
+
*/
|
|
154
|
+
protected defaultVersion(): string;
|
|
155
|
+
/**
|
|
156
|
+
* Gets the Azure resource type for Virtual Network Links
|
|
157
|
+
*/
|
|
158
|
+
protected resourceType(): string;
|
|
159
|
+
/**
|
|
160
|
+
* Gets the API schema for the resolved version
|
|
161
|
+
*/
|
|
162
|
+
protected apiSchema(): ApiSchema;
|
|
163
|
+
/**
|
|
164
|
+
* Creates the resource body for the Azure API call
|
|
165
|
+
*/
|
|
166
|
+
protected createResourceBody(props: any): any;
|
|
167
|
+
/**
|
|
168
|
+
* Get the Virtual Network ID
|
|
169
|
+
* Note: This returns the input value as Azure API doesn't return it in output
|
|
170
|
+
*/
|
|
171
|
+
get virtualNetworkId(): string;
|
|
172
|
+
/**
|
|
173
|
+
* Get whether auto-registration is enabled
|
|
174
|
+
* Returns a Terraform interpolation string for JSII compliance
|
|
175
|
+
*/
|
|
176
|
+
get registrationEnabled(): string;
|
|
177
|
+
/**
|
|
178
|
+
* Get the resolution policy
|
|
179
|
+
* Returns a Terraform interpolation string for JSII compliance
|
|
180
|
+
*/
|
|
181
|
+
get resolutionPolicy(): string;
|
|
182
|
+
/**
|
|
183
|
+
* Get the provisioning state of the Virtual Network Link
|
|
184
|
+
*/
|
|
185
|
+
get provisioningState(): string;
|
|
186
|
+
/**
|
|
187
|
+
* Get the state of the Virtual Network Link
|
|
188
|
+
*/
|
|
189
|
+
get virtualNetworkLinkState(): string;
|
|
190
|
+
/**
|
|
191
|
+
* Add a tag to the Virtual Network Link
|
|
192
|
+
*/
|
|
193
|
+
addTag(key: string, value: string): void;
|
|
194
|
+
/**
|
|
195
|
+
* Remove a tag from the Virtual Network Link
|
|
196
|
+
*/
|
|
197
|
+
removeTag(key: string): void;
|
|
198
|
+
/**
|
|
199
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
200
|
+
*/
|
|
201
|
+
private _applyIgnoreChanges;
|
|
202
|
+
}
|