@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +54630 -26185
- 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 +349 -0
- package/lib/azure-policyassignment/lib/policy-assignment.js +237 -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 +281 -0
- package/lib/azure-policydefinition/lib/policy-definition.js +236 -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 +806 -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 +206 -26
- package/lib/core-azure/lib/azapi/azapi-resource.js +379 -91
- 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,199 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure DNS Forwarding Ruleset Virtual Network Link across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Network/dnsForwardingRulesets/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.VIRTUAL_NETWORK_LINK_TYPE = exports.ALL_VIRTUAL_NETWORK_LINK_VERSIONS = exports.VIRTUAL_NETWORK_LINK_VERSION_2022_07_01 = exports.VIRTUAL_NETWORK_LINK_SCHEMA_2022_07_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 Virtual Network Link versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_PROPERTIES = {
|
|
19
|
+
name: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: true,
|
|
22
|
+
description: "The name of the Virtual Network Link. Must be unique within the ruleset.",
|
|
23
|
+
validation: [
|
|
24
|
+
{
|
|
25
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
26
|
+
message: "Virtual Network Link name is required",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
30
|
+
value: "^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$",
|
|
31
|
+
message: "Virtual Network Link name must start and end with alphanumeric characters and can contain hyphens",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
35
|
+
value: { minLength: 1, maxLength: 80 },
|
|
36
|
+
message: "Virtual Network Link name must be between 1 and 80 characters",
|
|
37
|
+
},
|
|
38
|
+
],
|
|
39
|
+
},
|
|
40
|
+
dnsForwardingRulesetId: {
|
|
41
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
42
|
+
required: true,
|
|
43
|
+
description: "The resource ID of the parent DNS Forwarding Ruleset to link the virtual network to",
|
|
44
|
+
validation: [
|
|
45
|
+
{
|
|
46
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
47
|
+
message: "DNS Forwarding Ruleset ID is required",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
51
|
+
value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/dnsForwardingRulesets/[^/]+$",
|
|
52
|
+
message: "DNS Forwarding Ruleset ID must be a valid resource ID",
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
},
|
|
56
|
+
virtualNetworkId: {
|
|
57
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
58
|
+
required: true,
|
|
59
|
+
description: "The resource ID of the Virtual Network to link to the DNS Forwarding Ruleset",
|
|
60
|
+
validation: [
|
|
61
|
+
{
|
|
62
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
63
|
+
message: "Virtual Network ID is required",
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
67
|
+
value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/virtualNetworks/[^/]+$",
|
|
68
|
+
message: "Virtual Network ID must be a valid resource ID",
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
metadata: {
|
|
73
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
74
|
+
required: false,
|
|
75
|
+
defaultValue: {},
|
|
76
|
+
description: "Metadata attached to the virtual network link as key-value pairs",
|
|
77
|
+
validation: [
|
|
78
|
+
{
|
|
79
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
80
|
+
value: version_interfaces_1.PropertyType.OBJECT,
|
|
81
|
+
message: "Metadata must be an object with string key-value pairs",
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
ignoreChanges: {
|
|
86
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
87
|
+
required: false,
|
|
88
|
+
description: "Array of property names to ignore during updates",
|
|
89
|
+
validation: [
|
|
90
|
+
{
|
|
91
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
92
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
93
|
+
message: "IgnoreChanges must be an array of strings",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
},
|
|
97
|
+
};
|
|
98
|
+
// =============================================================================
|
|
99
|
+
// READ-ONLY PROPERTY DEFINITIONS
|
|
100
|
+
// =============================================================================
|
|
101
|
+
/**
|
|
102
|
+
* Read-only properties that are populated by Azure after creation
|
|
103
|
+
* These properties should not be included in the request body
|
|
104
|
+
*/
|
|
105
|
+
const READ_ONLY_PROPERTIES = {
|
|
106
|
+
provisioningState: {
|
|
107
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
108
|
+
required: false,
|
|
109
|
+
description: "The provisioning state of the Virtual Network Link resource (read-only)",
|
|
110
|
+
validation: [
|
|
111
|
+
{
|
|
112
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
113
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
114
|
+
message: "ProvisioningState must be a string",
|
|
115
|
+
},
|
|
116
|
+
],
|
|
117
|
+
},
|
|
118
|
+
};
|
|
119
|
+
// =============================================================================
|
|
120
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
121
|
+
// =============================================================================
|
|
122
|
+
/**
|
|
123
|
+
* API Schema for Virtual Network Link version 2022-07-01
|
|
124
|
+
*/
|
|
125
|
+
exports.VIRTUAL_NETWORK_LINK_SCHEMA_2022_07_01 = {
|
|
126
|
+
resourceType: "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks",
|
|
127
|
+
version: "2022-07-01",
|
|
128
|
+
properties: {
|
|
129
|
+
...COMMON_PROPERTIES,
|
|
130
|
+
...READ_ONLY_PROPERTIES,
|
|
131
|
+
},
|
|
132
|
+
required: ["name", "dnsForwardingRulesetId", "virtualNetworkId"],
|
|
133
|
+
optional: ["metadata", "ignoreChanges"],
|
|
134
|
+
deprecated: [],
|
|
135
|
+
transformationRules: {},
|
|
136
|
+
validationRules: [
|
|
137
|
+
{
|
|
138
|
+
property: "name",
|
|
139
|
+
rules: [
|
|
140
|
+
{
|
|
141
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
142
|
+
message: "Name is required for Virtual Network Links",
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
property: "dnsForwardingRulesetId",
|
|
148
|
+
rules: [
|
|
149
|
+
{
|
|
150
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
151
|
+
message: "DNS Forwarding Ruleset ID is required for Virtual Network Links",
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
property: "virtualNetworkId",
|
|
157
|
+
rules: [
|
|
158
|
+
{
|
|
159
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
160
|
+
message: "Virtual Network ID is required for Virtual Network Links",
|
|
161
|
+
},
|
|
162
|
+
],
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
};
|
|
166
|
+
// =============================================================================
|
|
167
|
+
// VERSION CONFIGURATIONS
|
|
168
|
+
// =============================================================================
|
|
169
|
+
/**
|
|
170
|
+
* Version configuration for Virtual Network Link 2022-07-01
|
|
171
|
+
*/
|
|
172
|
+
exports.VIRTUAL_NETWORK_LINK_VERSION_2022_07_01 = {
|
|
173
|
+
version: "2022-07-01",
|
|
174
|
+
schema: exports.VIRTUAL_NETWORK_LINK_SCHEMA_2022_07_01,
|
|
175
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
176
|
+
releaseDate: "2022-07-01",
|
|
177
|
+
deprecationDate: undefined,
|
|
178
|
+
sunsetDate: undefined,
|
|
179
|
+
breakingChanges: [],
|
|
180
|
+
migrationGuide: "/docs/virtual-network-link/migration-2022-07-01",
|
|
181
|
+
changeLog: [
|
|
182
|
+
{
|
|
183
|
+
changeType: "added",
|
|
184
|
+
description: "Stable release of Virtual Network Link API for DNS Forwarding Rulesets",
|
|
185
|
+
breaking: false,
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
* All supported Virtual Network Link versions for registration
|
|
191
|
+
*/
|
|
192
|
+
exports.ALL_VIRTUAL_NETWORK_LINK_VERSIONS = [
|
|
193
|
+
exports.VIRTUAL_NETWORK_LINK_VERSION_2022_07_01,
|
|
194
|
+
];
|
|
195
|
+
/**
|
|
196
|
+
* Resource type constant
|
|
197
|
+
*/
|
|
198
|
+
exports.VIRTUAL_NETWORK_LINK_TYPE = "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks";
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1uZXR3b3JrLWxpbmstc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS1kbnNmb3J3YXJkaW5ncnVsZXNldC9saWIvdmlydHVhbC1uZXR3b3JrLWxpbmstc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7OztHQU1HOzs7QUFFSCwyR0FPNEU7QUFFNUUsZ0ZBQWdGO0FBQ2hGLDhCQUE4QjtBQUM5QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDSCxNQUFNLGlCQUFpQixHQUEwQztJQUMvRCxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULDBFQUEwRTtRQUM1RSxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLHVDQUF1QzthQUNqRDtZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsMENBQTBDO2dCQUNqRCxPQUFPLEVBQ0wsbUdBQW1HO2FBQ3RHO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFdBQVc7Z0JBQ3hDLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtnQkFDdEMsT0FBTyxFQUNMLCtEQUErRDthQUNsRTtTQUNGO0tBQ0Y7SUFDRCxzQkFBc0IsRUFBRTtRQUN0QixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUNULHFGQUFxRjtRQUN2RixVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLHVDQUF1QzthQUNqRDtZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQ0gscUdBQXFHO2dCQUN2RyxPQUFPLEVBQUUsdURBQXVEO2FBQ2pFO1NBQ0Y7S0FDRjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQ1QsOEVBQThFO1FBQ2hGLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsZ0NBQWdDO2FBQzFDO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFDSCwrRkFBK0Y7Z0JBQ2pHLE9BQU8sRUFBRSxnREFBZ0Q7YUFDMUQ7U0FDRjtLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCxrRUFBa0U7UUFDcEUsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sRUFBRSx3REFBd0Q7YUFDbEU7U0FDRjtLQUNGO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsUUFBUSxFQUFFLGlDQUFZLENBQUMsS0FBSztRQUM1QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxrREFBa0Q7UUFDL0QsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLEtBQUs7Z0JBQ3pCLE9BQU8sRUFBRSwyQ0FBMkM7YUFDckQ7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRixpQ0FBaUM7QUFDakMsZ0ZBQWdGO0FBRWhGOzs7R0FHRztBQUNILE1BQU0sb0JBQW9CLEdBQTBDO0lBQ2xFLGlCQUFpQixFQUFFO1FBQ2pCLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLEtBQUs7UUFDZixXQUFXLEVBQ1QseUVBQXlFO1FBQzNFLFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxVQUFVO2dCQUN2QyxLQUFLLEVBQUUsaUNBQVksQ0FBQyxNQUFNO2dCQUMxQixPQUFPLEVBQUUsb0NBQW9DO2FBQzlDO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYsMkJBQTJCO0FBQzNCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNVLFFBQUEsc0NBQXNDLEdBQWM7SUFDL0QsWUFBWSxFQUFFLDZEQUE2RDtJQUMzRSxPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUU7UUFDVixHQUFHLGlCQUFpQjtRQUNwQixHQUFHLG9CQUFvQjtLQUN4QjtJQUNELFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxrQkFBa0IsQ0FBQztJQUNoRSxRQUFRLEVBQUUsQ0FBQyxVQUFVLEVBQUUsZUFBZSxDQUFDO0lBQ3ZDLFVBQVUsRUFBRSxFQUFFO0lBQ2QsbUJBQW1CLEVBQUUsRUFBRTtJQUN2QixlQUFlLEVBQUU7UUFDZjtZQUNFLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDRDQUE0QztpQkFDdEQ7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxRQUFRLEVBQUUsd0JBQXdCO1lBQ2xDLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUNMLGlFQUFpRTtpQkFDcEU7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxRQUFRLEVBQUUsa0JBQWtCO1lBQzVCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDBEQUEwRDtpQkFDcEU7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLHVDQUF1QyxHQUFrQjtJQUNwRSxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsOENBQXNDO0lBQzlDLFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSxpREFBaUQ7SUFDakUsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQ1Qsd0VBQXdFO1lBQzFFLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGlDQUFpQyxHQUFvQjtJQUNoRSwrQ0FBdUM7Q0FDeEMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSx5QkFBeUIsR0FDcEMsNkRBQTZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IFZpcnR1YWwgTmV0d29yayBMaW5rIGFjcm9zcyBhbGwgc3VwcG9ydGVkIHZlcnNpb25zXG4gKlxuICogVGhpcyBmaWxlIGRlZmluZXMgdGhlIGNvbXBsZXRlIEFQSSBzY2hlbWFzIGZvciBNaWNyb3NvZnQuTmV0d29yay9kbnNGb3J3YXJkaW5nUnVsZXNldHMvdmlydHVhbE5ldHdvcmtMaW5rc1xuICogYWNyb3NzIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zLiBUaGUgc2NoZW1hcyBhcmUgdXNlZCBieSB0aGUgQXphcGlSZXNvdXJjZVxuICogZnJhbWV3b3JrIGZvciB2YWxpZGF0aW9uLCB0cmFuc2Zvcm1hdGlvbiwgYW5kIHZlcnNpb24gbWFuYWdlbWVudC5cbiAqL1xuXG5pbXBvcnQge1xuICBBcGlTY2hlbWEsXG4gIFByb3BlcnR5RGVmaW5pdGlvbixcbiAgUHJvcGVydHlUeXBlLFxuICBWYWxpZGF0aW9uUnVsZVR5cGUsXG4gIFZlcnNpb25Db25maWcsXG4gIFZlcnNpb25TdXBwb3J0TGV2ZWwsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTU1PTiBQUk9QRVJUWSBERUZJTklUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydHkgZGVmaW5pdGlvbnMgc2hhcmVkIGFjcm9zcyBhbGwgVmlydHVhbCBOZXR3b3JrIExpbmsgdmVyc2lvbnNcbiAqL1xuY29uc3QgQ09NTU9OX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG5hbWUgb2YgdGhlIFZpcnR1YWwgTmV0d29yayBMaW5rLiBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHJ1bGVzZXQuXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIlZpcnR1YWwgTmV0d29yayBMaW5rIG5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXpBLVowLTldKFthLXpBLVowLTktXSpbYS16QS1aMC05XSk/JFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiVmlydHVhbCBOZXR3b3JrIExpbmsgbmFtZSBtdXN0IHN0YXJ0IGFuZCBlbmQgd2l0aCBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgY2FuIGNvbnRhaW4gaHlwaGVuc1wiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5WQUxVRV9SQU5HRSxcbiAgICAgICAgdmFsdWU6IHsgbWluTGVuZ3RoOiAxLCBtYXhMZW5ndGg6IDgwIH0sXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJWaXJ0dWFsIE5ldHdvcmsgTGluayBuYW1lIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA4MCBjaGFyYWN0ZXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGRuc0ZvcndhcmRpbmdSdWxlc2V0SWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHJlc291cmNlIElEIG9mIHRoZSBwYXJlbnQgRE5TIEZvcndhcmRpbmcgUnVsZXNldCB0byBsaW5rIHRoZSB2aXJ0dWFsIG5ldHdvcmsgdG9cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiRE5TIEZvcndhcmRpbmcgUnVsZXNldCBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTpcbiAgICAgICAgICBcIl4vc3Vic2NyaXB0aW9ucy9bXi9dKy9yZXNvdXJjZUdyb3Vwcy9bXi9dKy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvZG5zRm9yd2FyZGluZ1J1bGVzZXRzL1teL10rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgSUQgbXVzdCBiZSBhIHZhbGlkIHJlc291cmNlIElEXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHZpcnR1YWxOZXR3b3JrSWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHJlc291cmNlIElEIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgdG8gbGluayB0byB0aGUgRE5TIEZvcndhcmRpbmcgUnVsZXNldFwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJWaXJ0dWFsIE5ldHdvcmsgSUQgaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgXCJeL3N1YnNjcmlwdGlvbnMvW14vXSsvcmVzb3VyY2VHcm91cHMvW14vXSsvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9bXi9dKyRcIixcbiAgICAgICAgbWVzc2FnZTogXCJWaXJ0dWFsIE5ldHdvcmsgSUQgbXVzdCBiZSBhIHZhbGlkIHJlc291cmNlIElEXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG1ldGFkYXRhOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlZmF1bHRWYWx1ZToge30sXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIk1ldGFkYXRhIGF0dGFjaGVkIHRvIHRoZSB2aXJ0dWFsIG5ldHdvcmsgbGluayBhcyBrZXktdmFsdWUgcGFpcnNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5PQkpFQ1QsXG4gICAgICAgIG1lc3NhZ2U6IFwiTWV0YWRhdGEgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGlnbm9yZUNoYW5nZXM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJBcnJheSBvZiBwcm9wZXJ0eSBuYW1lcyB0byBpZ25vcmUgZHVyaW5nIHVwZGF0ZXNcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICAgICAgbWVzc2FnZTogXCJJZ25vcmVDaGFuZ2VzIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFQUQtT05MWSBQUk9QRVJUWSBERUZJTklUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZWFkLW9ubHkgcHJvcGVydGllcyB0aGF0IGFyZSBwb3B1bGF0ZWQgYnkgQXp1cmUgYWZ0ZXIgY3JlYXRpb25cbiAqIFRoZXNlIHByb3BlcnRpZXMgc2hvdWxkIG5vdCBiZSBpbmNsdWRlZCBpbiB0aGUgcmVxdWVzdCBib2R5XG4gKi9cbmNvbnN0IFJFQURfT05MWV9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBwcm92aXNpb25pbmdTdGF0ZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHByb3Zpc2lvbmluZyBzdGF0ZSBvZiB0aGUgVmlydHVhbCBOZXR3b3JrIExpbmsgcmVzb3VyY2UgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUHJvdmlzaW9uaW5nU3RhdGUgbXVzdCBiZSBhIHN0cmluZ1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04tU1BFQ0lGSUMgU0NIRU1BU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBWaXJ0dWFsIE5ldHdvcmsgTGluayB2ZXJzaW9uIDIwMjItMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFZJUlRVQUxfTkVUV09SS19MSU5LX1NDSEVNQV8yMDIyXzA3XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay9kbnNGb3J3YXJkaW5nUnVsZXNldHMvdmlydHVhbE5ldHdvcmtMaW5rc1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDctMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICAgIC4uLlJFQURfT05MWV9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibmFtZVwiLCBcImRuc0ZvcndhcmRpbmdSdWxlc2V0SWRcIiwgXCJ2aXJ0dWFsTmV0d29ya0lkXCJdLFxuICBvcHRpb25hbDogW1wibWV0YWRhdGFcIiwgXCJpZ25vcmVDaGFuZ2VzXCJdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZCBmb3IgVmlydHVhbCBOZXR3b3JrIExpbmtzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwiZG5zRm9yd2FyZGluZ1J1bGVzZXRJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICAgIFwiRE5TIEZvcndhcmRpbmcgUnVsZXNldCBJRCBpcyByZXF1aXJlZCBmb3IgVmlydHVhbCBOZXR3b3JrIExpbmtzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwidmlydHVhbE5ldHdvcmtJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJWaXJ0dWFsIE5ldHdvcmsgSUQgaXMgcmVxdWlyZWQgZm9yIFZpcnR1YWwgTmV0d29yayBMaW5rc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBWaXJ0dWFsIE5ldHdvcmsgTGluayAyMDIyLTA3LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBWSVJUVUFMX05FVFdPUktfTElOS19WRVJTSU9OXzIwMjJfMDdfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMi0wNy0wMVwiLFxuICBzY2hlbWE6IFZJUlRVQUxfTkVUV09SS19MSU5LX1NDSEVNQV8yMDIyXzA3XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIyLTA3LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3ZpcnR1YWwtbmV0d29yay1saW5rL21pZ3JhdGlvbi0yMDIyLTA3LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIlN0YWJsZSByZWxlYXNlIG9mIFZpcnR1YWwgTmV0d29yayBMaW5rIEFQSSBmb3IgRE5TIEZvcndhcmRpbmcgUnVsZXNldHNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFZpcnR1YWwgTmV0d29yayBMaW5rIHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9WSVJUVUFMX05FVFdPUktfTElOS19WRVJTSU9OUzogVmVyc2lvbkNvbmZpZ1tdID0gW1xuICBWSVJUVUFMX05FVFdPUktfTElOS19WRVJTSU9OXzIwMjJfMDdfMDEsXG5dO1xuXG4vKipcbiAqIFJlc291cmNlIHR5cGUgY29uc3RhbnRcbiAqL1xuZXhwb3J0IGNvbnN0IFZJUlRVQUxfTkVUV09SS19MSU5LX1RZUEUgPVxuICBcIk1pY3Jvc29mdC5OZXR3b3JrL2Ruc0ZvcndhcmRpbmdSdWxlc2V0cy92aXJ0dWFsTmV0d29ya0xpbmtzXCI7XG4iXX0=
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure DNS Forwarding Ruleset Virtual Network Link implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for linking virtual networks to DNS Forwarding Rulesets.
|
|
5
|
+
* Virtual Network Links enable VNets to use the forwarding rules defined in the ruleset.
|
|
6
|
+
*
|
|
7
|
+
* Supported API Versions:
|
|
8
|
+
* - 2022-07-01 (Active, Latest)
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Automatic latest version resolution when no version is specified
|
|
12
|
+
* - Explicit version pinning for stability requirements
|
|
13
|
+
* - Schema-driven validation and transformation
|
|
14
|
+
* - Full backward compatibility
|
|
15
|
+
* - JSII compliance for multi-language support
|
|
16
|
+
* - Metadata support for organizational tagging
|
|
17
|
+
*/
|
|
18
|
+
import * as cdktf from "cdktf";
|
|
19
|
+
import { Construct } from "constructs";
|
|
20
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
21
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
22
|
+
/**
|
|
23
|
+
* Properties for the Azure DNS Forwarding Ruleset Virtual Network Link
|
|
24
|
+
*
|
|
25
|
+
* Extends AzapiResourceProps with Virtual Network Link specific properties
|
|
26
|
+
*/
|
|
27
|
+
export interface DnsForwardingRulesetVirtualNetworkLinkProps extends AzapiResourceProps {
|
|
28
|
+
/**
|
|
29
|
+
* Resource ID of the parent DNS Forwarding Ruleset
|
|
30
|
+
* @example "/subscriptions/.../resourceGroups/rg/providers/Microsoft.Network/dnsForwardingRulesets/ruleset1"
|
|
31
|
+
*/
|
|
32
|
+
readonly dnsForwardingRulesetId: string;
|
|
33
|
+
/**
|
|
34
|
+
* Resource ID of the Virtual Network to link
|
|
35
|
+
* @example "/subscriptions/.../resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet1"
|
|
36
|
+
*/
|
|
37
|
+
readonly virtualNetworkId: string;
|
|
38
|
+
/**
|
|
39
|
+
* Metadata attached to the virtual network link as key-value pairs
|
|
40
|
+
*/
|
|
41
|
+
readonly metadata?: {
|
|
42
|
+
[key: string]: string;
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* The lifecycle rules to ignore changes
|
|
46
|
+
* @example ["metadata"]
|
|
47
|
+
*/
|
|
48
|
+
readonly ignoreChanges?: string[];
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Virtual Network reference for DNS Forwarding Ruleset link
|
|
52
|
+
*/
|
|
53
|
+
export interface DnsForwardingRulesetVirtualNetworkReference {
|
|
54
|
+
readonly id: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Properties for Virtual Network Link body
|
|
58
|
+
*/
|
|
59
|
+
export interface DnsForwardingRulesetVirtualNetworkLinkProperties {
|
|
60
|
+
readonly virtualNetwork: DnsForwardingRulesetVirtualNetworkReference;
|
|
61
|
+
readonly metadata?: {
|
|
62
|
+
[key: string]: string;
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* The resource body interface for Azure Virtual Network Link API calls
|
|
67
|
+
*/
|
|
68
|
+
export interface DnsForwardingRulesetVirtualNetworkLinkBody {
|
|
69
|
+
readonly properties: DnsForwardingRulesetVirtualNetworkLinkProperties;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Azure DNS Forwarding Ruleset Virtual Network Link implementation
|
|
73
|
+
*
|
|
74
|
+
* Virtual Network Links connect DNS Forwarding Rulesets to virtual networks,
|
|
75
|
+
* enabling those VNets to use the conditional forwarding rules defined in the ruleset.
|
|
76
|
+
* This allows VMs and other resources in the linked VNets to resolve domains according
|
|
77
|
+
* to the forwarding rules.
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* // Basic virtual network link:
|
|
81
|
+
* const link = new DnsForwardingRulesetVirtualNetworkLink(this, "vnet-link", {
|
|
82
|
+
* name: "my-vnet-link",
|
|
83
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
84
|
+
* virtualNetworkId: vnet.id
|
|
85
|
+
* });
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* // Virtual network link with metadata:
|
|
89
|
+
* const link = new DnsForwardingRulesetVirtualNetworkLink(this, "vnet-link", {
|
|
90
|
+
* name: "my-vnet-link",
|
|
91
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
92
|
+
* virtualNetworkId: vnet.id,
|
|
93
|
+
* metadata: {
|
|
94
|
+
* environment: "production",
|
|
95
|
+
* team: "platform"
|
|
96
|
+
* }
|
|
97
|
+
* });
|
|
98
|
+
*
|
|
99
|
+
* @example
|
|
100
|
+
* // Virtual network link with explicit version:
|
|
101
|
+
* const link = new DnsForwardingRulesetVirtualNetworkLink(this, "vnet-link", {
|
|
102
|
+
* name: "my-vnet-link",
|
|
103
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
104
|
+
* virtualNetworkId: vnet.id,
|
|
105
|
+
* apiVersion: "2022-07-01"
|
|
106
|
+
* });
|
|
107
|
+
*
|
|
108
|
+
* @stability stable
|
|
109
|
+
*/
|
|
110
|
+
export declare class DnsForwardingRulesetVirtualNetworkLink extends AzapiResource {
|
|
111
|
+
/**
|
|
112
|
+
* The input properties for this Virtual Network Link instance
|
|
113
|
+
*/
|
|
114
|
+
readonly props: DnsForwardingRulesetVirtualNetworkLinkProps;
|
|
115
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
116
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
117
|
+
readonly provisioningStateOutput: cdktf.TerraformOutput;
|
|
118
|
+
readonly resourceName: string;
|
|
119
|
+
/**
|
|
120
|
+
* Creates a new Azure DNS Forwarding Ruleset Virtual Network Link using the AzapiResource framework
|
|
121
|
+
*
|
|
122
|
+
* @param scope - The scope in which to define this construct
|
|
123
|
+
* @param id - The unique identifier for this instance
|
|
124
|
+
* @param props - Configuration properties for the Virtual Network Link
|
|
125
|
+
*/
|
|
126
|
+
constructor(scope: Construct, id: string, props: DnsForwardingRulesetVirtualNetworkLinkProps);
|
|
127
|
+
/**
|
|
128
|
+
* Resolves the parent resource ID for the Virtual Network Link
|
|
129
|
+
* Virtual Network Links are child resources of DNS Forwarding Rulesets
|
|
130
|
+
*/
|
|
131
|
+
protected resolveParentId(props: any): string;
|
|
132
|
+
/**
|
|
133
|
+
* Gets the default API version to use when no explicit version is specified
|
|
134
|
+
*/
|
|
135
|
+
protected defaultVersion(): string;
|
|
136
|
+
/**
|
|
137
|
+
* Gets the Azure resource type for Virtual Network Links
|
|
138
|
+
*/
|
|
139
|
+
protected resourceType(): string;
|
|
140
|
+
/**
|
|
141
|
+
* Gets the API schema for the resolved version
|
|
142
|
+
*/
|
|
143
|
+
protected apiSchema(): ApiSchema;
|
|
144
|
+
/**
|
|
145
|
+
* Creates the resource body for the Azure API call
|
|
146
|
+
*/
|
|
147
|
+
protected createResourceBody(props: any): any;
|
|
148
|
+
/**
|
|
149
|
+
* Get the provisioning state of the Virtual Network Link
|
|
150
|
+
*/
|
|
151
|
+
get provisioningState(): string;
|
|
152
|
+
/**
|
|
153
|
+
* Get the metadata
|
|
154
|
+
*/
|
|
155
|
+
get metadata(): string;
|
|
156
|
+
/**
|
|
157
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
158
|
+
*/
|
|
159
|
+
private _applyIgnoreChanges;
|
|
160
|
+
}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DnsForwardingRulesetVirtualNetworkLink = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/**
|
|
7
|
+
* Azure DNS Forwarding Ruleset Virtual Network Link implementation using AzapiResource framework
|
|
8
|
+
*
|
|
9
|
+
* This class provides a unified implementation for linking virtual networks to DNS Forwarding Rulesets.
|
|
10
|
+
* Virtual Network Links enable VNets to use the forwarding rules defined in the ruleset.
|
|
11
|
+
*
|
|
12
|
+
* Supported API Versions:
|
|
13
|
+
* - 2022-07-01 (Active, Latest)
|
|
14
|
+
*
|
|
15
|
+
* Features:
|
|
16
|
+
* - Automatic latest version resolution when no version is specified
|
|
17
|
+
* - Explicit version pinning for stability requirements
|
|
18
|
+
* - Schema-driven validation and transformation
|
|
19
|
+
* - Full backward compatibility
|
|
20
|
+
* - JSII compliance for multi-language support
|
|
21
|
+
* - Metadata support for organizational tagging
|
|
22
|
+
*/
|
|
23
|
+
const cdktf = require("cdktf");
|
|
24
|
+
const virtual_network_link_schemas_1 = require("./virtual-network-link-schemas");
|
|
25
|
+
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
26
|
+
/**
|
|
27
|
+
* Azure DNS Forwarding Ruleset Virtual Network Link implementation
|
|
28
|
+
*
|
|
29
|
+
* Virtual Network Links connect DNS Forwarding Rulesets to virtual networks,
|
|
30
|
+
* enabling those VNets to use the conditional forwarding rules defined in the ruleset.
|
|
31
|
+
* This allows VMs and other resources in the linked VNets to resolve domains according
|
|
32
|
+
* to the forwarding rules.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* // Basic virtual network link:
|
|
36
|
+
* const link = new DnsForwardingRulesetVirtualNetworkLink(this, "vnet-link", {
|
|
37
|
+
* name: "my-vnet-link",
|
|
38
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
39
|
+
* virtualNetworkId: vnet.id
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* // Virtual network link with metadata:
|
|
44
|
+
* const link = new DnsForwardingRulesetVirtualNetworkLink(this, "vnet-link", {
|
|
45
|
+
* name: "my-vnet-link",
|
|
46
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
47
|
+
* virtualNetworkId: vnet.id,
|
|
48
|
+
* metadata: {
|
|
49
|
+
* environment: "production",
|
|
50
|
+
* team: "platform"
|
|
51
|
+
* }
|
|
52
|
+
* });
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* // Virtual network link with explicit version:
|
|
56
|
+
* const link = new DnsForwardingRulesetVirtualNetworkLink(this, "vnet-link", {
|
|
57
|
+
* name: "my-vnet-link",
|
|
58
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
59
|
+
* virtualNetworkId: vnet.id,
|
|
60
|
+
* apiVersion: "2022-07-01"
|
|
61
|
+
* });
|
|
62
|
+
*
|
|
63
|
+
* @stability stable
|
|
64
|
+
*/
|
|
65
|
+
class DnsForwardingRulesetVirtualNetworkLink extends azapi_resource_1.AzapiResource {
|
|
66
|
+
/**
|
|
67
|
+
* Creates a new Azure DNS Forwarding Ruleset Virtual Network Link using the AzapiResource framework
|
|
68
|
+
*
|
|
69
|
+
* @param scope - The scope in which to define this construct
|
|
70
|
+
* @param id - The unique identifier for this instance
|
|
71
|
+
* @param props - Configuration properties for the Virtual Network Link
|
|
72
|
+
*/
|
|
73
|
+
constructor(scope, id, props) {
|
|
74
|
+
super(scope, id, props);
|
|
75
|
+
this.props = props;
|
|
76
|
+
// Extract properties from the AZAPI resource outputs using Terraform interpolation
|
|
77
|
+
this.resourceName = `\${${this.terraformResource.fqn}.name}`;
|
|
78
|
+
// Create Terraform outputs for easy access and referencing from other resources
|
|
79
|
+
this.idOutput = new cdktf.TerraformOutput(this, "id", {
|
|
80
|
+
value: this.id,
|
|
81
|
+
description: "The ID of the Virtual Network Link",
|
|
82
|
+
});
|
|
83
|
+
this.nameOutput = new cdktf.TerraformOutput(this, "name", {
|
|
84
|
+
value: this.resourceName,
|
|
85
|
+
description: "The name of the Virtual Network Link",
|
|
86
|
+
});
|
|
87
|
+
this.provisioningStateOutput = new cdktf.TerraformOutput(this, "provisioning_state", {
|
|
88
|
+
value: `\${${this.terraformResource.fqn}.output.properties.provisioningState}`,
|
|
89
|
+
description: "The provisioning state of the Virtual Network Link",
|
|
90
|
+
});
|
|
91
|
+
// Override logical IDs to match naming convention
|
|
92
|
+
this.idOutput.overrideLogicalId("id");
|
|
93
|
+
this.nameOutput.overrideLogicalId("name");
|
|
94
|
+
this.provisioningStateOutput.overrideLogicalId("provisioning_state");
|
|
95
|
+
// Apply ignore changes if specified
|
|
96
|
+
this._applyIgnoreChanges();
|
|
97
|
+
}
|
|
98
|
+
// =============================================================================
|
|
99
|
+
// REQUIRED ABSTRACT METHODS FROM AzapiResource
|
|
100
|
+
// =============================================================================
|
|
101
|
+
/**
|
|
102
|
+
* Resolves the parent resource ID for the Virtual Network Link
|
|
103
|
+
* Virtual Network Links are child resources of DNS Forwarding Rulesets
|
|
104
|
+
*/
|
|
105
|
+
resolveParentId(props) {
|
|
106
|
+
const typedProps = props;
|
|
107
|
+
return typedProps.dnsForwardingRulesetId;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Gets the default API version to use when no explicit version is specified
|
|
111
|
+
*/
|
|
112
|
+
defaultVersion() {
|
|
113
|
+
return "2022-07-01";
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Gets the Azure resource type for Virtual Network Links
|
|
117
|
+
*/
|
|
118
|
+
resourceType() {
|
|
119
|
+
return virtual_network_link_schemas_1.VIRTUAL_NETWORK_LINK_TYPE;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Gets the API schema for the resolved version
|
|
123
|
+
*/
|
|
124
|
+
apiSchema() {
|
|
125
|
+
return this.resolveSchema();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Creates the resource body for the Azure API call
|
|
129
|
+
*/
|
|
130
|
+
createResourceBody(props) {
|
|
131
|
+
const typedProps = props;
|
|
132
|
+
const properties = {
|
|
133
|
+
virtualNetwork: {
|
|
134
|
+
id: typedProps.virtualNetworkId,
|
|
135
|
+
},
|
|
136
|
+
metadata: typedProps.metadata,
|
|
137
|
+
};
|
|
138
|
+
const body = {
|
|
139
|
+
properties,
|
|
140
|
+
};
|
|
141
|
+
return body;
|
|
142
|
+
}
|
|
143
|
+
// =============================================================================
|
|
144
|
+
// PUBLIC METHODS FOR VIRTUAL NETWORK LINK OPERATIONS
|
|
145
|
+
// =============================================================================
|
|
146
|
+
/**
|
|
147
|
+
* Get the provisioning state of the Virtual Network Link
|
|
148
|
+
*/
|
|
149
|
+
get provisioningState() {
|
|
150
|
+
return `\${${this.terraformResource.fqn}.output.properties.provisioningState}`;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Get the metadata
|
|
154
|
+
*/
|
|
155
|
+
get metadata() {
|
|
156
|
+
return `\${${this.terraformResource.fqn}.output.properties.metadata}`;
|
|
157
|
+
}
|
|
158
|
+
// =============================================================================
|
|
159
|
+
// PRIVATE HELPER METHODS
|
|
160
|
+
// =============================================================================
|
|
161
|
+
/**
|
|
162
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
163
|
+
*/
|
|
164
|
+
_applyIgnoreChanges() {
|
|
165
|
+
if (this.props.ignoreChanges && this.props.ignoreChanges.length > 0) {
|
|
166
|
+
this.terraformResource.addOverride("lifecycle", {
|
|
167
|
+
ignore_changes: this.props.ignoreChanges,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.DnsForwardingRulesetVirtualNetworkLink = DnsForwardingRulesetVirtualNetworkLink;
|
|
173
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
174
|
+
DnsForwardingRulesetVirtualNetworkLink[_a] = { fqn: "@microsoft/terraform-cdk-constructs.DnsForwardingRulesetVirtualNetworkLink", version: "1.3.1" };
|
|
175
|
+
(() => {
|
|
176
|
+
azapi_resource_1.AzapiResource.registerSchemas(virtual_network_link_schemas_1.VIRTUAL_NETWORK_LINK_TYPE, virtual_network_link_schemas_1.ALL_VIRTUAL_NETWORK_LINK_VERSIONS);
|
|
177
|
+
})();
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbC1uZXR3b3JrLWxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtZG5zZm9yd2FyZGluZ3J1bGVzZXQvbGliL3ZpcnR1YWwtbmV0d29yay1saW5rLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCwrQkFBK0I7QUFFL0IsaUZBR3dDO0FBQ3hDLDhFQUdtRDtBQXdEbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0NHO0FBQ0gsTUFBYSxzQ0FBdUMsU0FBUSw4QkFBYTtJQXFCdkU7Ozs7OztPQU1HO0lBQ0gsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBa0Q7UUFFbEQsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbkIsbUZBQW1GO1FBQ25GLElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxRQUFRLENBQUM7UUFFN0QsZ0ZBQWdGO1FBQ2hGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUU7WUFDcEQsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFO1lBQ2QsV0FBVyxFQUFFLG9DQUFvQztTQUNsRCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ3hELEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWTtZQUN4QixXQUFXLEVBQUUsc0NBQXNDO1NBQ3BELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQ3RELElBQUksRUFDSixvQkFBb0IsRUFDcEI7WUFDRSxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyx1Q0FBdUM7WUFDOUUsV0FBVyxFQUFFLG9EQUFvRDtTQUNsRSxDQUNGLENBQUM7UUFFRixrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRXJFLG9DQUFvQztRQUNwQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLCtDQUErQztJQUMvQyxnRkFBZ0Y7SUFFaEY7OztPQUdHO0lBQ08sZUFBZSxDQUFDLEtBQVU7UUFDbEMsTUFBTSxVQUFVLEdBQUcsS0FBb0QsQ0FBQztRQUN4RSxPQUFPLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQztJQUMzQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNPLFlBQVk7UUFDcEIsT0FBTyx3REFBeUIsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7O09BRUc7SUFDTyxTQUFTO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7T0FFRztJQUNPLGtCQUFrQixDQUFDLEtBQVU7UUFDckMsTUFBTSxVQUFVLEdBQUcsS0FBb0QsQ0FBQztRQUV4RSxNQUFNLFVBQVUsR0FBcUQ7WUFDbkUsY0FBYyxFQUFFO2dCQUNkLEVBQUUsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO2FBQ2hDO1lBQ0QsUUFBUSxFQUFFLFVBQVUsQ0FBQyxRQUFRO1NBQzlCLENBQUM7UUFFRixNQUFNLElBQUksR0FBK0M7WUFDdkQsVUFBVTtTQUNYLENBQUM7UUFFRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYscURBQXFEO0lBQ3JELGdGQUFnRjtJQUVoRjs7T0FFRztJQUNILElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyx1Q0FBdUMsQ0FBQztJQUNqRixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLFFBQVE7UUFDakIsT0FBTyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLDhCQUE4QixDQUFDO0lBQ3hFLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYseUJBQXlCO0lBQ3pCLGdGQUFnRjtJQUVoRjs7T0FFRztJQUNLLG1CQUFtQjtRQUN6QixJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNwRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLFdBQVcsRUFBRTtnQkFDOUMsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYTthQUN6QyxDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQzs7QUExSkgsd0ZBMkpDOzs7QUExSkM7SUFDRSw4QkFBYSxDQUFDLGVBQWUsQ0FDM0Isd0RBQXlCLEVBQ3pCLGdFQUFpQyxDQUNsQyxDQUFDO0FBQ0osQ0FBQyxHQUFBLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgVmlydHVhbCBOZXR3b3JrIExpbmsgaW1wbGVtZW50YXRpb24gdXNpbmcgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAqXG4gKiBUaGlzIGNsYXNzIHByb3ZpZGVzIGEgdW5pZmllZCBpbXBsZW1lbnRhdGlvbiBmb3IgbGlua2luZyB2aXJ0dWFsIG5ldHdvcmtzIHRvIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzLlxuICogVmlydHVhbCBOZXR3b3JrIExpbmtzIGVuYWJsZSBWTmV0cyB0byB1c2UgdGhlIGZvcndhcmRpbmcgcnVsZXMgZGVmaW5lZCBpbiB0aGUgcnVsZXNldC5cbiAqXG4gKiBTdXBwb3J0ZWQgQVBJIFZlcnNpb25zOlxuICogLSAyMDIyLTA3LTAxIChBY3RpdmUsIExhdGVzdClcbiAqXG4gKiBGZWF0dXJlczpcbiAqIC0gQXV0b21hdGljIGxhdGVzdCB2ZXJzaW9uIHJlc29sdXRpb24gd2hlbiBubyB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICogLSBFeHBsaWNpdCB2ZXJzaW9uIHBpbm5pbmcgZm9yIHN0YWJpbGl0eSByZXF1aXJlbWVudHNcbiAqIC0gU2NoZW1hLWRyaXZlbiB2YWxpZGF0aW9uIGFuZCB0cmFuc2Zvcm1hdGlvblxuICogLSBGdWxsIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAqIC0gSlNJSSBjb21wbGlhbmNlIGZvciBtdWx0aS1sYW5ndWFnZSBzdXBwb3J0XG4gKiAtIE1ldGFkYXRhIHN1cHBvcnQgZm9yIG9yZ2FuaXphdGlvbmFsIHRhZ2dpbmdcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfVklSVFVBTF9ORVRXT1JLX0xJTktfVkVSU0lPTlMsXG4gIFZJUlRVQUxfTkVUV09SS19MSU5LX1RZUEUsXG59IGZyb20gXCIuL3ZpcnR1YWwtbmV0d29yay1saW5rLXNjaGVtYXNcIjtcbmltcG9ydCB7XG4gIEF6YXBpUmVzb3VyY2UsXG4gIEF6YXBpUmVzb3VyY2VQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgVmlydHVhbCBOZXR3b3JrIExpbmtcbiAqXG4gKiBFeHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB3aXRoIFZpcnR1YWwgTmV0d29yayBMaW5rIHNwZWNpZmljIHByb3BlcnRpZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbnNGb3J3YXJkaW5nUnVsZXNldFZpcnR1YWxOZXR3b3JrTGlua1Byb3BzXG4gIGV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHtcbiAgLyoqXG4gICAqIFJlc291cmNlIElEIG9mIHRoZSBwYXJlbnQgRE5TIEZvcndhcmRpbmcgUnVsZXNldFxuICAgKiBAZXhhbXBsZSBcIi9zdWJzY3JpcHRpb25zLy4uLi9yZXNvdXJjZUdyb3Vwcy9yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvZG5zRm9yd2FyZGluZ1J1bGVzZXRzL3J1bGVzZXQxXCJcbiAgICovXG4gIHJlYWRvbmx5IGRuc0ZvcndhcmRpbmdSdWxlc2V0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogUmVzb3VyY2UgSUQgb2YgdGhlIFZpcnR1YWwgTmV0d29yayB0byBsaW5rXG4gICAqIEBleGFtcGxlIFwiL3N1YnNjcmlwdGlvbnMvLi4uL3Jlc291cmNlR3JvdXBzL3JnL3Byb3ZpZGVycy9NaWNyb3NvZnQuTmV0d29yay92aXJ0dWFsTmV0d29ya3Mvdm5ldDFcIlxuICAgKi9cbiAgcmVhZG9ubHkgdmlydHVhbE5ldHdvcmtJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNZXRhZGF0YSBhdHRhY2hlZCB0byB0aGUgdmlydHVhbCBuZXR3b3JrIGxpbmsgYXMga2V5LXZhbHVlIHBhaXJzXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gaWdub3JlIGNoYW5nZXNcbiAgICogQGV4YW1wbGUgW1wibWV0YWRhdGFcIl1cbiAgICovXG4gIHJlYWRvbmx5IGlnbm9yZUNoYW5nZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBWaXJ0dWFsIE5ldHdvcmsgcmVmZXJlbmNlIGZvciBETlMgRm9yd2FyZGluZyBSdWxlc2V0IGxpbmtcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEbnNGb3J3YXJkaW5nUnVsZXNldFZpcnR1YWxOZXR3b3JrUmVmZXJlbmNlIHtcbiAgcmVhZG9ubHkgaWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBWaXJ0dWFsIE5ldHdvcmsgTGluayBib2R5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRG5zRm9yd2FyZGluZ1J1bGVzZXRWaXJ0dWFsTmV0d29ya0xpbmtQcm9wZXJ0aWVzIHtcbiAgcmVhZG9ubHkgdmlydHVhbE5ldHdvcms6IERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtSZWZlcmVuY2U7XG4gIHJlYWRvbmx5IG1ldGFkYXRhPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIFZpcnR1YWwgTmV0d29yayBMaW5rIEFQSSBjYWxsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rQm9keSB7XG4gIHJlYWRvbmx5IHByb3BlcnRpZXM6IERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBBenVyZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IFZpcnR1YWwgTmV0d29yayBMaW5rIGltcGxlbWVudGF0aW9uXG4gKlxuICogVmlydHVhbCBOZXR3b3JrIExpbmtzIGNvbm5lY3QgRE5TIEZvcndhcmRpbmcgUnVsZXNldHMgdG8gdmlydHVhbCBuZXR3b3JrcyxcbiAqIGVuYWJsaW5nIHRob3NlIFZOZXRzIHRvIHVzZSB0aGUgY29uZGl0aW9uYWwgZm9yd2FyZGluZyBydWxlcyBkZWZpbmVkIGluIHRoZSBydWxlc2V0LlxuICogVGhpcyBhbGxvd3MgVk1zIGFuZCBvdGhlciByZXNvdXJjZXMgaW4gdGhlIGxpbmtlZCBWTmV0cyB0byByZXNvbHZlIGRvbWFpbnMgYWNjb3JkaW5nXG4gKiB0byB0aGUgZm9yd2FyZGluZyBydWxlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQmFzaWMgdmlydHVhbCBuZXR3b3JrIGxpbms6XG4gKiBjb25zdCBsaW5rID0gbmV3IERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rKHRoaXMsIFwidm5ldC1saW5rXCIsIHtcbiAqICAgbmFtZTogXCJteS12bmV0LWxpbmtcIixcbiAqICAgZG5zRm9yd2FyZGluZ1J1bGVzZXRJZDogcnVsZXNldC5pZCxcbiAqICAgdmlydHVhbE5ldHdvcmtJZDogdm5ldC5pZFxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFZpcnR1YWwgbmV0d29yayBsaW5rIHdpdGggbWV0YWRhdGE6XG4gKiBjb25zdCBsaW5rID0gbmV3IERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rKHRoaXMsIFwidm5ldC1saW5rXCIsIHtcbiAqICAgbmFtZTogXCJteS12bmV0LWxpbmtcIixcbiAqICAgZG5zRm9yd2FyZGluZ1J1bGVzZXRJZDogcnVsZXNldC5pZCxcbiAqICAgdmlydHVhbE5ldHdvcmtJZDogdm5ldC5pZCxcbiAqICAgbWV0YWRhdGE6IHtcbiAqICAgICBlbnZpcm9ubWVudDogXCJwcm9kdWN0aW9uXCIsXG4gKiAgICAgdGVhbTogXCJwbGF0Zm9ybVwiXG4gKiAgIH1cbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBWaXJ0dWFsIG5ldHdvcmsgbGluayB3aXRoIGV4cGxpY2l0IHZlcnNpb246XG4gKiBjb25zdCBsaW5rID0gbmV3IERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rKHRoaXMsIFwidm5ldC1saW5rXCIsIHtcbiAqICAgbmFtZTogXCJteS12bmV0LWxpbmtcIixcbiAqICAgZG5zRm9yd2FyZGluZ1J1bGVzZXRJZDogcnVsZXNldC5pZCxcbiAqICAgdmlydHVhbE5ldHdvcmtJZDogdm5ldC5pZCxcbiAqICAgYXBpVmVyc2lvbjogXCIyMDIyLTA3LTAxXCJcbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEbnNGb3J3YXJkaW5nUnVsZXNldFZpcnR1YWxOZXR3b3JrTGluayBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFxuICAgICAgVklSVFVBTF9ORVRXT1JLX0xJTktfVFlQRSxcbiAgICAgIEFMTF9WSVJUVUFMX05FVFdPUktfTElOS19WRVJTSU9OUyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBwcm9wZXJ0aWVzIGZvciB0aGlzIFZpcnR1YWwgTmV0d29yayBMaW5rIGluc3RhbmNlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgVmlydHVhbCBOZXR3b3JrIExpbmsgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIFZpcnR1YWwgTmV0d29yayBMaW5rXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rUHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwgcHJvcHMpO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgLy8gRXh0cmFjdCBwcm9wZXJ0aWVzIGZyb20gdGhlIEFaQVBJIHJlc291cmNlIG91dHB1dHMgdXNpbmcgVGVycmFmb3JtIGludGVycG9sYXRpb25cbiAgICB0aGlzLnJlc291cmNlTmFtZSA9IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ubmFtZX1gO1xuXG4gICAgLy8gQ3JlYXRlIFRlcnJhZm9ybSBvdXRwdXRzIGZvciBlYXN5IGFjY2VzcyBhbmQgcmVmZXJlbmNpbmcgZnJvbSBvdGhlciByZXNvdXJjZXNcbiAgICB0aGlzLmlkT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcImlkXCIsIHtcbiAgICAgIHZhbHVlOiB0aGlzLmlkLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIElEIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgTGlua1wiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IHRoaXMucmVzb3VyY2VOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIFZpcnR1YWwgTmV0d29yayBMaW5rXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInByb3Zpc2lvbmluZ19zdGF0ZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5wcm92aXNpb25pbmdTdGF0ZX1gLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBWaXJ0dWFsIE5ldHdvcmsgTGlua1wiLFxuICAgICAgfSxcbiAgICApO1xuXG4gICAgLy8gT3ZlcnJpZGUgbG9naWNhbCBJRHMgdG8gbWF0Y2ggbmFtaW5nIGNvbnZlbnRpb25cbiAgICB0aGlzLmlkT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwiaWRcIik7XG4gICAgdGhpcy5uYW1lT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwibmFtZVwiKTtcbiAgICB0aGlzLnByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0Lm92ZXJyaWRlTG9naWNhbElkKFwicHJvdmlzaW9uaW5nX3N0YXRlXCIpO1xuXG4gICAgLy8gQXBwbHkgaWdub3JlIGNoYW5nZXMgaWYgc3BlY2lmaWVkXG4gICAgdGhpcy5fYXBwbHlJZ25vcmVDaGFuZ2VzKCk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBSRVFVSVJFRCBBQlNUUkFDVCBNRVRIT0RTIEZST00gQXphcGlSZXNvdXJjZVxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlcyB0aGUgcGFyZW50IHJlc291cmNlIElEIGZvciB0aGUgVmlydHVhbCBOZXR3b3JrIExpbmtcbiAgICogVmlydHVhbCBOZXR3b3JrIExpbmtzIGFyZSBjaGlsZCByZXNvdXJjZXMgb2YgRE5TIEZvcndhcmRpbmcgUnVsZXNldHNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIERuc0ZvcndhcmRpbmdSdWxlc2V0VmlydHVhbE5ldHdvcmtMaW5rUHJvcHM7XG4gICAgcmV0dXJuIHR5cGVkUHJvcHMuZG5zRm9yd2FyZGluZ1J1bGVzZXRJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkZWZhdWx0IEFQSSB2ZXJzaW9uIHRvIHVzZSB3aGVuIG5vIGV4cGxpY2l0IHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZGVmYXVsdFZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCIyMDIyLTA3LTAxXCI7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQXp1cmUgcmVzb3VyY2UgdHlwZSBmb3IgVmlydHVhbCBOZXR3b3JrIExpbmtzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFZJUlRVQUxfTkVUV09SS19MSU5LX1RZUEU7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQVBJIHNjaGVtYSBmb3IgdGhlIHJlc29sdmVkIHZlcnNpb25cbiAgICovXG4gIHByb3RlY3RlZCBhcGlTY2hlbWEoKTogQXBpU2NoZW1hIHtcbiAgICByZXR1cm4gdGhpcy5yZXNvbHZlU2NoZW1hKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgcmVzb3VyY2UgYm9keSBmb3IgdGhlIEF6dXJlIEFQSSBjYWxsXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlUmVzb3VyY2VCb2R5KHByb3BzOiBhbnkpOiBhbnkge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBEbnNGb3J3YXJkaW5nUnVsZXNldFZpcnR1YWxOZXR3b3JrTGlua1Byb3BzO1xuXG4gICAgY29uc3QgcHJvcGVydGllczogRG5zRm9yd2FyZGluZ1J1bGVzZXRWaXJ0dWFsTmV0d29ya0xpbmtQcm9wZXJ0aWVzID0ge1xuICAgICAgdmlydHVhbE5ldHdvcms6IHtcbiAgICAgICAgaWQ6IHR5cGVkUHJvcHMudmlydHVhbE5ldHdvcmtJZCxcbiAgICAgIH0sXG4gICAgICBtZXRhZGF0YTogdHlwZWRQcm9wcy5tZXRhZGF0YSxcbiAgICB9O1xuXG4gICAgY29uc3QgYm9keTogRG5zRm9yd2FyZGluZ1J1bGVzZXRWaXJ0dWFsTmV0d29ya0xpbmtCb2R5ID0ge1xuICAgICAgcHJvcGVydGllcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQVUJMSUMgTUVUSE9EUyBGT1IgVklSVFVBTCBORVRXT1JLIExJTksgT1BFUkFUSU9OU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHByb3Zpc2lvbmluZyBzdGF0ZSBvZiB0aGUgVmlydHVhbCBOZXR3b3JrIExpbmtcbiAgICovXG4gIHB1YmxpYyBnZXQgcHJvdmlzaW9uaW5nU3RhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5wcm92aXNpb25pbmdTdGF0ZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbWV0YWRhdGFcbiAgICovXG4gIHB1YmxpYyBnZXQgbWV0YWRhdGEoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5tZXRhZGF0YX1gO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFJJVkFURSBIRUxQRVIgTUVUSE9EU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGlnbm9yZSBjaGFuZ2VzIGxpZmVjeWNsZSBydWxlcyBpZiBzcGVjaWZpZWQgaW4gcHJvcHNcbiAgICovXG4gIHByaXZhdGUgX2FwcGx5SWdub3JlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzICYmIHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlLmFkZE92ZXJyaWRlKFwibGlmZWN5Y2xlXCIsIHtcbiAgICAgICAgaWdub3JlX2NoYW5nZXM6IHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration test for Azure DNS Forwarding Ruleset with child resources
|
|
3
|
+
*
|
|
4
|
+
* This test demonstrates basic usage of the DNS Forwarding Ruleset constructs
|
|
5
|
+
* including one ForwardingRule and one VirtualNetworkLink.
|
|
6
|
+
*
|
|
7
|
+
* Run with: npm run integration:nostream
|
|
8
|
+
*/
|
|
9
|
+
import "cdktf/lib/testing/adapters/jest";
|