@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,193 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure DNS Forwarding Rule implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for creating forwarding rules within
|
|
5
|
+
* DNS Forwarding Rulesets. Forwarding rules define conditional forwarding behavior
|
|
6
|
+
* based on domain names.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2022-07-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
|
+
* - Up to 6 target DNS servers per rule
|
|
18
|
+
*/
|
|
19
|
+
import * as cdktf from "cdktf";
|
|
20
|
+
import { Construct } from "constructs";
|
|
21
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
22
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
23
|
+
/**
|
|
24
|
+
* Target DNS server configuration
|
|
25
|
+
*/
|
|
26
|
+
export interface TargetDnsServer {
|
|
27
|
+
/**
|
|
28
|
+
* IP address of the target DNS server
|
|
29
|
+
* @example "10.0.0.4"
|
|
30
|
+
*/
|
|
31
|
+
readonly ipAddress: string;
|
|
32
|
+
/**
|
|
33
|
+
* Port number for the target DNS server
|
|
34
|
+
* @defaultValue 53
|
|
35
|
+
*/
|
|
36
|
+
readonly port?: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Properties for the Azure DNS Forwarding Rule
|
|
40
|
+
*
|
|
41
|
+
* Extends AzapiResourceProps with Forwarding Rule specific properties
|
|
42
|
+
*/
|
|
43
|
+
export interface ForwardingRuleProps extends AzapiResourceProps {
|
|
44
|
+
/**
|
|
45
|
+
* Resource ID of the parent DNS Forwarding Ruleset
|
|
46
|
+
* @example "/subscriptions/.../resourceGroups/rg/providers/Microsoft.Network/dnsForwardingRulesets/ruleset1"
|
|
47
|
+
*/
|
|
48
|
+
readonly dnsForwardingRulesetId: string;
|
|
49
|
+
/**
|
|
50
|
+
* The domain name to forward (must end with a dot for FQDN)
|
|
51
|
+
* @example "contoso.com."
|
|
52
|
+
* @example "internal.corp."
|
|
53
|
+
*/
|
|
54
|
+
readonly domainName: string;
|
|
55
|
+
/**
|
|
56
|
+
* Array of target DNS servers to forward queries to
|
|
57
|
+
* Maximum of 6 servers per rule
|
|
58
|
+
* @example [{ ipAddress: "10.0.0.4", port: 53 }, { ipAddress: "10.0.0.5" }]
|
|
59
|
+
*/
|
|
60
|
+
readonly targetDnsServers: TargetDnsServer[];
|
|
61
|
+
/**
|
|
62
|
+
* The state of the forwarding rule
|
|
63
|
+
* @defaultValue "Enabled"
|
|
64
|
+
*/
|
|
65
|
+
readonly forwardingRuleState?: "Enabled" | "Disabled";
|
|
66
|
+
/**
|
|
67
|
+
* Metadata attached to the forwarding rule as key-value pairs
|
|
68
|
+
*/
|
|
69
|
+
readonly metadata?: {
|
|
70
|
+
[key: string]: string;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* The lifecycle rules to ignore changes
|
|
74
|
+
* @example ["metadata"]
|
|
75
|
+
*/
|
|
76
|
+
readonly ignoreChanges?: string[];
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Properties for Forwarding Rule body
|
|
80
|
+
*/
|
|
81
|
+
export interface ForwardingRuleProperties {
|
|
82
|
+
readonly domainName: string;
|
|
83
|
+
readonly targetDnsServers: TargetDnsServer[];
|
|
84
|
+
readonly forwardingRuleState?: string;
|
|
85
|
+
readonly metadata?: {
|
|
86
|
+
[key: string]: string;
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* The resource body interface for Azure Forwarding Rule API calls
|
|
91
|
+
*/
|
|
92
|
+
export interface ForwardingRuleBody {
|
|
93
|
+
readonly properties: ForwardingRuleProperties;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Azure DNS Forwarding Rule implementation
|
|
97
|
+
*
|
|
98
|
+
* Forwarding rules define conditional DNS forwarding behavior. When a DNS query
|
|
99
|
+
* matches the domain name pattern, it's forwarded to the specified target DNS servers.
|
|
100
|
+
* Up to 1000 rules can be configured per ruleset, with up to 6 target servers per rule.
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* // Basic forwarding rule:
|
|
104
|
+
* const rule = new ForwardingRule(this, "rule", {
|
|
105
|
+
* name: "contoso-rule",
|
|
106
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
107
|
+
* domainName: "contoso.com.",
|
|
108
|
+
* targetDnsServers: [
|
|
109
|
+
* { ipAddress: "10.0.0.4", port: 53 },
|
|
110
|
+
* { ipAddress: "10.0.0.5" }
|
|
111
|
+
* ]
|
|
112
|
+
* });
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* // Forwarding rule with metadata:
|
|
116
|
+
* const rule = new ForwardingRule(this, "rule", {
|
|
117
|
+
* name: "contoso-rule",
|
|
118
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
119
|
+
* domainName: "contoso.com.",
|
|
120
|
+
* targetDnsServers: [{ ipAddress: "10.0.0.4" }],
|
|
121
|
+
* metadata: {
|
|
122
|
+
* environment: "production",
|
|
123
|
+
* owner: "platform-team"
|
|
124
|
+
* }
|
|
125
|
+
* });
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* // Disabled forwarding rule:
|
|
129
|
+
* const rule = new ForwardingRule(this, "rule", {
|
|
130
|
+
* name: "temp-rule",
|
|
131
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
132
|
+
* domainName: "temp.local.",
|
|
133
|
+
* targetDnsServers: [{ ipAddress: "10.0.0.4" }],
|
|
134
|
+
* forwardingRuleState: "Disabled"
|
|
135
|
+
* });
|
|
136
|
+
*
|
|
137
|
+
* @stability stable
|
|
138
|
+
*/
|
|
139
|
+
export declare class ForwardingRule extends AzapiResource {
|
|
140
|
+
/**
|
|
141
|
+
* The input properties for this Forwarding Rule instance
|
|
142
|
+
*/
|
|
143
|
+
readonly props: ForwardingRuleProps;
|
|
144
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
145
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
146
|
+
readonly provisioningStateOutput: cdktf.TerraformOutput;
|
|
147
|
+
readonly resourceName: string;
|
|
148
|
+
/**
|
|
149
|
+
* Creates a new Azure DNS Forwarding Rule using the AzapiResource framework
|
|
150
|
+
*
|
|
151
|
+
* @param scope - The scope in which to define this construct
|
|
152
|
+
* @param id - The unique identifier for this instance
|
|
153
|
+
* @param props - Configuration properties for the Forwarding Rule
|
|
154
|
+
*/
|
|
155
|
+
constructor(scope: Construct, id: string, props: ForwardingRuleProps);
|
|
156
|
+
/**
|
|
157
|
+
* Resolves the parent resource ID for the Forwarding Rule
|
|
158
|
+
* Forwarding Rules are child resources of DNS Forwarding Rulesets
|
|
159
|
+
*/
|
|
160
|
+
protected resolveParentId(props: any): string;
|
|
161
|
+
/**
|
|
162
|
+
* Gets the default API version to use when no explicit version is specified
|
|
163
|
+
*/
|
|
164
|
+
protected defaultVersion(): string;
|
|
165
|
+
/**
|
|
166
|
+
* Gets the Azure resource type for Forwarding Rules
|
|
167
|
+
*/
|
|
168
|
+
protected resourceType(): string;
|
|
169
|
+
/**
|
|
170
|
+
* Gets the API schema for the resolved version
|
|
171
|
+
*/
|
|
172
|
+
protected apiSchema(): ApiSchema;
|
|
173
|
+
/**
|
|
174
|
+
* Creates the resource body for the Azure API call
|
|
175
|
+
*/
|
|
176
|
+
protected createResourceBody(props: any): any;
|
|
177
|
+
/**
|
|
178
|
+
* Get the provisioning state of the Forwarding Rule
|
|
179
|
+
*/
|
|
180
|
+
get provisioningState(): string;
|
|
181
|
+
/**
|
|
182
|
+
* Get the target DNS servers
|
|
183
|
+
*/
|
|
184
|
+
get targetDnsServers(): string;
|
|
185
|
+
/**
|
|
186
|
+
* Get the metadata
|
|
187
|
+
*/
|
|
188
|
+
get metadata(): string;
|
|
189
|
+
/**
|
|
190
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
191
|
+
*/
|
|
192
|
+
private _applyIgnoreChanges;
|
|
193
|
+
}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.ForwardingRule = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/**
|
|
7
|
+
* Azure DNS Forwarding Rule implementation using AzapiResource framework
|
|
8
|
+
*
|
|
9
|
+
* This class provides a unified implementation for creating forwarding rules within
|
|
10
|
+
* DNS Forwarding Rulesets. Forwarding rules define conditional forwarding behavior
|
|
11
|
+
* based on domain names.
|
|
12
|
+
*
|
|
13
|
+
* Supported API Versions:
|
|
14
|
+
* - 2022-07-01 (Active, Latest)
|
|
15
|
+
*
|
|
16
|
+
* Features:
|
|
17
|
+
* - Automatic latest version resolution when no version is specified
|
|
18
|
+
* - Explicit version pinning for stability requirements
|
|
19
|
+
* - Schema-driven validation and transformation
|
|
20
|
+
* - Full backward compatibility
|
|
21
|
+
* - JSII compliance for multi-language support
|
|
22
|
+
* - Up to 6 target DNS servers per rule
|
|
23
|
+
*/
|
|
24
|
+
const cdktf = require("cdktf");
|
|
25
|
+
const forwarding_rule_schemas_1 = require("./forwarding-rule-schemas");
|
|
26
|
+
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
27
|
+
/**
|
|
28
|
+
* Azure DNS Forwarding Rule implementation
|
|
29
|
+
*
|
|
30
|
+
* Forwarding rules define conditional DNS forwarding behavior. When a DNS query
|
|
31
|
+
* matches the domain name pattern, it's forwarded to the specified target DNS servers.
|
|
32
|
+
* Up to 1000 rules can be configured per ruleset, with up to 6 target servers per rule.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* // Basic forwarding rule:
|
|
36
|
+
* const rule = new ForwardingRule(this, "rule", {
|
|
37
|
+
* name: "contoso-rule",
|
|
38
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
39
|
+
* domainName: "contoso.com.",
|
|
40
|
+
* targetDnsServers: [
|
|
41
|
+
* { ipAddress: "10.0.0.4", port: 53 },
|
|
42
|
+
* { ipAddress: "10.0.0.5" }
|
|
43
|
+
* ]
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* // Forwarding rule with metadata:
|
|
48
|
+
* const rule = new ForwardingRule(this, "rule", {
|
|
49
|
+
* name: "contoso-rule",
|
|
50
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
51
|
+
* domainName: "contoso.com.",
|
|
52
|
+
* targetDnsServers: [{ ipAddress: "10.0.0.4" }],
|
|
53
|
+
* metadata: {
|
|
54
|
+
* environment: "production",
|
|
55
|
+
* owner: "platform-team"
|
|
56
|
+
* }
|
|
57
|
+
* });
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* // Disabled forwarding rule:
|
|
61
|
+
* const rule = new ForwardingRule(this, "rule", {
|
|
62
|
+
* name: "temp-rule",
|
|
63
|
+
* dnsForwardingRulesetId: ruleset.id,
|
|
64
|
+
* domainName: "temp.local.",
|
|
65
|
+
* targetDnsServers: [{ ipAddress: "10.0.0.4" }],
|
|
66
|
+
* forwardingRuleState: "Disabled"
|
|
67
|
+
* });
|
|
68
|
+
*
|
|
69
|
+
* @stability stable
|
|
70
|
+
*/
|
|
71
|
+
class ForwardingRule extends azapi_resource_1.AzapiResource {
|
|
72
|
+
/**
|
|
73
|
+
* Creates a new Azure DNS Forwarding Rule using the AzapiResource framework
|
|
74
|
+
*
|
|
75
|
+
* @param scope - The scope in which to define this construct
|
|
76
|
+
* @param id - The unique identifier for this instance
|
|
77
|
+
* @param props - Configuration properties for the Forwarding Rule
|
|
78
|
+
*/
|
|
79
|
+
constructor(scope, id, props) {
|
|
80
|
+
super(scope, id, props);
|
|
81
|
+
this.props = props;
|
|
82
|
+
// Extract properties from the AZAPI resource outputs using Terraform interpolation
|
|
83
|
+
this.resourceName = `\${${this.terraformResource.fqn}.name}`;
|
|
84
|
+
// Create Terraform outputs for easy access and referencing from other resources
|
|
85
|
+
this.idOutput = new cdktf.TerraformOutput(this, "id", {
|
|
86
|
+
value: this.id,
|
|
87
|
+
description: "The ID of the Forwarding Rule",
|
|
88
|
+
});
|
|
89
|
+
this.nameOutput = new cdktf.TerraformOutput(this, "name", {
|
|
90
|
+
value: this.resourceName,
|
|
91
|
+
description: "The name of the Forwarding Rule",
|
|
92
|
+
});
|
|
93
|
+
this.provisioningStateOutput = new cdktf.TerraformOutput(this, "provisioning_state", {
|
|
94
|
+
value: `\${${this.terraformResource.fqn}.output.properties.provisioningState}`,
|
|
95
|
+
description: "The provisioning state of the Forwarding Rule",
|
|
96
|
+
});
|
|
97
|
+
// Override logical IDs to match naming convention
|
|
98
|
+
this.idOutput.overrideLogicalId("id");
|
|
99
|
+
this.nameOutput.overrideLogicalId("name");
|
|
100
|
+
this.provisioningStateOutput.overrideLogicalId("provisioning_state");
|
|
101
|
+
// Apply ignore changes if specified
|
|
102
|
+
this._applyIgnoreChanges();
|
|
103
|
+
}
|
|
104
|
+
// =============================================================================
|
|
105
|
+
// REQUIRED ABSTRACT METHODS FROM AzapiResource
|
|
106
|
+
// =============================================================================
|
|
107
|
+
/**
|
|
108
|
+
* Resolves the parent resource ID for the Forwarding Rule
|
|
109
|
+
* Forwarding Rules are child resources of DNS Forwarding Rulesets
|
|
110
|
+
*/
|
|
111
|
+
resolveParentId(props) {
|
|
112
|
+
const typedProps = props;
|
|
113
|
+
return typedProps.dnsForwardingRulesetId;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Gets the default API version to use when no explicit version is specified
|
|
117
|
+
*/
|
|
118
|
+
defaultVersion() {
|
|
119
|
+
return "2022-07-01";
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Gets the Azure resource type for Forwarding Rules
|
|
123
|
+
*/
|
|
124
|
+
resourceType() {
|
|
125
|
+
return forwarding_rule_schemas_1.FORWARDING_RULE_TYPE;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Gets the API schema for the resolved version
|
|
129
|
+
*/
|
|
130
|
+
apiSchema() {
|
|
131
|
+
return this.resolveSchema();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Creates the resource body for the Azure API call
|
|
135
|
+
*/
|
|
136
|
+
createResourceBody(props) {
|
|
137
|
+
const typedProps = props;
|
|
138
|
+
const properties = {
|
|
139
|
+
domainName: typedProps.domainName,
|
|
140
|
+
targetDnsServers: typedProps.targetDnsServers.map((server) => ({
|
|
141
|
+
ipAddress: server.ipAddress,
|
|
142
|
+
port: server.port ?? 53,
|
|
143
|
+
})),
|
|
144
|
+
forwardingRuleState: typedProps.forwardingRuleState,
|
|
145
|
+
metadata: typedProps.metadata,
|
|
146
|
+
};
|
|
147
|
+
const body = {
|
|
148
|
+
properties,
|
|
149
|
+
};
|
|
150
|
+
return body;
|
|
151
|
+
}
|
|
152
|
+
// =============================================================================
|
|
153
|
+
// PUBLIC METHODS FOR FORWARDING RULE OPERATIONS
|
|
154
|
+
// =============================================================================
|
|
155
|
+
/**
|
|
156
|
+
* Get the provisioning state of the Forwarding Rule
|
|
157
|
+
*/
|
|
158
|
+
get provisioningState() {
|
|
159
|
+
return `\${${this.terraformResource.fqn}.output.properties.provisioningState}`;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Get the target DNS servers
|
|
163
|
+
*/
|
|
164
|
+
get targetDnsServers() {
|
|
165
|
+
return `\${${this.terraformResource.fqn}.output.properties.targetDnsServers}`;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Get the metadata
|
|
169
|
+
*/
|
|
170
|
+
get metadata() {
|
|
171
|
+
return `\${${this.terraformResource.fqn}.output.properties.metadata}`;
|
|
172
|
+
}
|
|
173
|
+
// =============================================================================
|
|
174
|
+
// PRIVATE HELPER METHODS
|
|
175
|
+
// =============================================================================
|
|
176
|
+
/**
|
|
177
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
178
|
+
*/
|
|
179
|
+
_applyIgnoreChanges() {
|
|
180
|
+
if (this.props.ignoreChanges && this.props.ignoreChanges.length > 0) {
|
|
181
|
+
this.terraformResource.addOverride("lifecycle", {
|
|
182
|
+
ignore_changes: this.props.ignoreChanges,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
exports.ForwardingRule = ForwardingRule;
|
|
188
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
189
|
+
ForwardingRule[_a] = { fqn: "@microsoft/terraform-cdk-constructs.ForwardingRule", version: "1.3.1" };
|
|
190
|
+
(() => {
|
|
191
|
+
azapi_resource_1.AzapiResource.registerSchemas(forwarding_rule_schemas_1.FORWARDING_RULE_TYPE, forwarding_rule_schemas_1.ALL_FORWARDING_RULE_VERSIONS);
|
|
192
|
+
})();
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZGluZy1ydWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRuc2ZvcndhcmRpbmdydWxlc2V0L2xpYi9mb3J3YXJkaW5nLXJ1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFFSCwrQkFBK0I7QUFFL0IsdUVBR21DO0FBQ25DLDhFQUdtRDtBQWlGbkQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQ0c7QUFDSCxNQUFhLGNBQWUsU0FBUSw4QkFBYTtJQXFCL0M7Ozs7OztPQU1HO0lBQ0gsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEwQjtRQUNsRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUV4QixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixtRkFBbUY7UUFDbkYsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLFFBQVEsQ0FBQztRQUU3RCxnRkFBZ0Y7UUFDaEYsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRTtZQUNwRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDZCxXQUFXLEVBQUUsK0JBQStCO1NBQzdDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEQsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3hCLFdBQVcsRUFBRSxpQ0FBaUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FDdEQsSUFBSSxFQUNKLG9CQUFvQixFQUNwQjtZ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bnQiOlsiLyoqXG4gKiBBenVyZSBETlMgRm9yd2FyZGluZyBSdWxlIGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGNyZWF0aW5nIGZvcndhcmRpbmcgcnVsZXMgd2l0aGluXG4gKiBETlMgRm9yd2FyZGluZyBSdWxlc2V0cy4gRm9yd2FyZGluZyBydWxlcyBkZWZpbmUgY29uZGl0aW9uYWwgZm9yd2FyZGluZyBiZWhhdmlvclxuICogYmFzZWQgb24gZG9tYWluIG5hbWVzLlxuICpcbiAqIFN1cHBvcnRlZCBBUEkgVmVyc2lvbnM6XG4gKiAtIDIwMjItMDctMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEZ1bGwgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICogLSBKU0lJIGNvbXBsaWFuY2UgZm9yIG11bHRpLWxhbmd1YWdlIHN1cHBvcnRcbiAqIC0gVXAgdG8gNiB0YXJnZXQgRE5TIHNlcnZlcnMgcGVyIHJ1bGVcbiAqL1xuXG5pbXBvcnQgKiBhcyBjZGt0ZiBmcm9tIFwiY2RrdGZcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQge1xuICBBTExfRk9SV0FSRElOR19SVUxFX1ZFUlNJT05TLFxuICBGT1JXQVJESU5HX1JVTEVfVFlQRSxcbn0gZnJvbSBcIi4vZm9yd2FyZGluZy1ydWxlLXNjaGVtYXNcIjtcbmltcG9ydCB7XG4gIEF6YXBpUmVzb3VyY2UsXG4gIEF6YXBpUmVzb3VyY2VQcm9wcyxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL2F6YXBpL2F6YXBpLXJlc291cmNlXCI7XG5pbXBvcnQgeyBBcGlTY2hlbWEgfSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvdmVyc2lvbi1tYW5hZ2VyL2ludGVyZmFjZXMvdmVyc2lvbi1pbnRlcmZhY2VzXCI7XG5cbi8qKlxuICogVGFyZ2V0IEROUyBzZXJ2ZXIgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhcmdldERuc1NlcnZlciB7XG4gIC8qKlxuICAgKiBJUCBhZGRyZXNzIG9mIHRoZSB0YXJnZXQgRE5TIHNlcnZlclxuICAgKiBAZXhhbXBsZSBcIjEwLjAuMC40XCJcbiAgICovXG4gIHJlYWRvbmx5IGlwQWRkcmVzczogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQb3J0IG51bWJlciBmb3IgdGhlIHRhcmdldCBETlMgc2VydmVyXG4gICAqIEBkZWZhdWx0VmFsdWUgNTNcbiAgICovXG4gIHJlYWRvbmx5IHBvcnQ/OiBudW1iZXI7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgdGhlIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGVcbiAqXG4gKiBFeHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB3aXRoIEZvcndhcmRpbmcgUnVsZSBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9yd2FyZGluZ1J1bGVQcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZSBJRCBvZiB0aGUgcGFyZW50IEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRcbiAgICogQGV4YW1wbGUgXCIvc3Vic2NyaXB0aW9ucy8uLi4vcmVzb3VyY2VHcm91cHMvcmcvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL2Ruc0ZvcndhcmRpbmdSdWxlc2V0cy9ydWxlc2V0MVwiXG4gICAqL1xuICByZWFkb25seSBkbnNGb3J3YXJkaW5nUnVsZXNldElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkb21haW4gbmFtZSB0byBmb3J3YXJkIChtdXN0IGVuZCB3aXRoIGEgZG90IGZvciBGUUROKVxuICAgKiBAZXhhbXBsZSBcImNvbnRvc28uY29tLlwiXG4gICAqIEBleGFtcGxlIFwiaW50ZXJuYWwuY29ycC5cIlxuICAgKi9cbiAgcmVhZG9ubHkgZG9tYWluTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBcnJheSBvZiB0YXJnZXQgRE5TIHNlcnZlcnMgdG8gZm9yd2FyZCBxdWVyaWVzIHRvXG4gICAqIE1heGltdW0gb2YgNiBzZXJ2ZXJzIHBlciBydWxlXG4gICAqIEBleGFtcGxlIFt7IGlwQWRkcmVzczogXCIxMC4wLjAuNFwiLCBwb3J0OiA1MyB9LCB7IGlwQWRkcmVzczogXCIxMC4wLjAuNVwiIH1dXG4gICAqL1xuICByZWFkb25seSB0YXJnZXREbnNTZXJ2ZXJzOiBUYXJnZXREbnNTZXJ2ZXJbXTtcblxuICAvKipcbiAgICogVGhlIHN0YXRlIG9mIHRoZSBmb3J3YXJkaW5nIHJ1bGVcbiAgICogQGRlZmF1bHRWYWx1ZSBcIkVuYWJsZWRcIlxuICAgKi9cbiAgcmVhZG9ubHkgZm9yd2FyZGluZ1J1bGVTdGF0ZT86IFwiRW5hYmxlZFwiIHwgXCJEaXNhYmxlZFwiO1xuXG4gIC8qKlxuICAgKiBNZXRhZGF0YSBhdHRhY2hlZCB0byB0aGUgZm9yd2FyZGluZyBydWxlIGFzIGtleS12YWx1ZSBwYWlyc1xuICAgKi9cbiAgcmVhZG9ubHkgbWV0YWRhdGE/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgbGlmZWN5Y2xlIHJ1bGVzIHRvIGlnbm9yZSBjaGFuZ2VzXG4gICAqIEBleGFtcGxlIFtcIm1ldGFkYXRhXCJdXG4gICAqL1xuICByZWFkb25seSBpZ25vcmVDaGFuZ2VzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgRm9yd2FyZGluZyBSdWxlIGJvZHlcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGb3J3YXJkaW5nUnVsZVByb3BlcnRpZXMge1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRhcmdldERuc1NlcnZlcnM6IFRhcmdldERuc1NlcnZlcltdO1xuICByZWFkb25seSBmb3J3YXJkaW5nUnVsZVN0YXRlPzogc3RyaW5nO1xuICByZWFkb25seSBtZXRhZGF0YT86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogVGhlIHJlc291cmNlIGJvZHkgaW50ZXJmYWNlIGZvciBBenVyZSBGb3J3YXJkaW5nIFJ1bGUgQVBJIGNhbGxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9yd2FyZGluZ1J1bGVCb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllczogRm9yd2FyZGluZ1J1bGVQcm9wZXJ0aWVzO1xufVxuXG4vKipcbiAqIEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGUgaW1wbGVtZW50YXRpb25cbiAqXG4gKiBGb3J3YXJkaW5nIHJ1bGVzIGRlZmluZSBjb25kaXRpb25hbCBETlMgZm9yd2FyZGluZyBiZWhhdmlvci4gV2hlbiBhIEROUyBxdWVyeVxuICogbWF0Y2hlcyB0aGUgZG9tYWluIG5hbWUgcGF0dGVybiwgaXQncyBmb3J3YXJkZWQgdG8gdGhlIHNwZWNpZmllZCB0YXJnZXQgRE5TIHNlcnZlcnMuXG4gKiBVcCB0byAxMDAwIHJ1bGVzIGNhbiBiZSBjb25maWd1cmVkIHBlciBydWxlc2V0LCB3aXRoIHVwIHRvIDYgdGFyZ2V0IHNlcnZlcnMgcGVyIHJ1bGUuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEJhc2ljIGZvcndhcmRpbmcgcnVsZTpcbiAqIGNvbnN0IHJ1bGUgPSBuZXcgRm9yd2FyZGluZ1J1bGUodGhpcywgXCJydWxlXCIsIHtcbiAqICAgbmFtZTogXCJjb250b3NvLXJ1bGVcIixcbiAqICAgZG5zRm9yd2FyZGluZ1J1bGVzZXRJZDogcnVsZXNldC5pZCxcbiAqICAgZG9tYWluTmFtZTogXCJjb250b3NvLmNvbS5cIixcbiAqICAgdGFyZ2V0RG5zU2VydmVyczogW1xuICogICAgIHsgaXBBZGRyZXNzOiBcIjEwLjAuMC40XCIsIHBvcnQ6IDUzIH0sXG4gKiAgICAgeyBpcEFkZHJlc3M6IFwiMTAuMC4wLjVcIiB9XG4gKiAgIF1cbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBGb3J3YXJkaW5nIHJ1bGUgd2l0aCBtZXRhZGF0YTpcbiAqIGNvbnN0IHJ1bGUgPSBuZXcgRm9yd2FyZGluZ1J1bGUodGhpcywgXCJydWxlXCIsIHtcbiAqICAgbmFtZTogXCJjb250b3NvLXJ1bGVcIixcbiAqICAgZG5zRm9yd2FyZGluZ1J1bGVzZXRJZDogcnVsZXNldC5pZCxcbiAqICAgZG9tYWluTmFtZTogXCJjb250b3NvLmNvbS5cIixcbiAqICAgdGFyZ2V0RG5zU2VydmVyczogW3sgaXBBZGRyZXNzOiBcIjEwLjAuMC40XCIgfV0sXG4gKiAgIG1ldGFkYXRhOiB7XG4gKiAgICAgZW52aXJvbm1lbnQ6IFwicHJvZHVjdGlvblwiLFxuICogICAgIG93bmVyOiBcInBsYXRmb3JtLXRlYW1cIlxuICogICB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gRGlzYWJsZWQgZm9yd2FyZGluZyBydWxlOlxuICogY29uc3QgcnVsZSA9IG5ldyBGb3J3YXJkaW5nUnVsZSh0aGlzLCBcInJ1bGVcIiwge1xuICogICBuYW1lOiBcInRlbXAtcnVsZVwiLFxuICogICBkbnNGb3J3YXJkaW5nUnVsZXNldElkOiBydWxlc2V0LmlkLFxuICogICBkb21haW5OYW1lOiBcInRlbXAubG9jYWwuXCIsXG4gKiAgIHRhcmdldERuc1NlcnZlcnM6IFt7IGlwQWRkcmVzczogXCIxMC4wLjAuNFwiIH1dLFxuICogICBmb3J3YXJkaW5nUnVsZVN0YXRlOiBcIkRpc2FibGVkXCJcbiAqIH0pO1xuICpcbiAqIEBzdGFiaWxpdHkgc3RhYmxlXG4gKi9cbmV4cG9ydCBjbGFzcyBGb3J3YXJkaW5nUnVsZSBleHRlbmRzIEF6YXBpUmVzb3VyY2Uge1xuICBzdGF0aWMge1xuICAgIEF6YXBpUmVzb3VyY2UucmVnaXN0ZXJTY2hlbWFzKFxuICAgICAgRk9SV0FSRElOR19SVUxFX1RZUEUsXG4gICAgICBBTExfRk9SV0FSRElOR19SVUxFX1ZFUlNJT05TLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGlucHV0IHByb3BlcnRpZXMgZm9yIHRoaXMgRm9yd2FyZGluZyBSdWxlIGluc3RhbmNlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvcHM6IEZvcndhcmRpbmdSdWxlUHJvcHM7XG5cbiAgLy8gT3V0cHV0IHByb3BlcnRpZXMgZm9yIGVhc3kgYWNjZXNzIGFuZCByZWZlcmVuY2luZ1xuICBwdWJsaWMgcmVhZG9ubHkgaWRPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcbiAgcHVibGljIHJlYWRvbmx5IHByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0OiBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQ7XG5cbiAgLy8gUHVibGljIHByb3BlcnRpZXNcbiAgcHVibGljIHJlYWRvbmx5IHJlc291cmNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEF6dXJlIEROUyBGb3J3YXJkaW5nIFJ1bGUgdXNpbmcgdGhlIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBzY29wZSBpbiB3aGljaCB0byBkZWZpbmUgdGhpcyBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGluc3RhbmNlXG4gICAqIEBwYXJhbSBwcm9wcyAtIENvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIEZvcndhcmRpbmcgUnVsZVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IEZvcndhcmRpbmdSdWxlUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIC8vIEV4dHJhY3QgcHJvcGVydGllcyBmcm9tIHRoZSBBWkFQSSByZXNvdXJjZSBvdXRwdXRzIHVzaW5nIFRlcnJhZm9ybSBpbnRlcnBvbGF0aW9uXG4gICAgdGhpcy5yZXNvdXJjZU5hbWUgPSBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm5hbWV9YDtcblxuICAgIC8vIENyZWF0ZSBUZXJyYWZvcm0gb3V0cHV0cyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nIGZyb20gb3RoZXIgcmVzb3VyY2VzXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgRm9yd2FyZGluZyBSdWxlXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLm5hbWVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KHRoaXMsIFwibmFtZVwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5yZXNvdXJjZU5hbWUsXG4gICAgICBkZXNjcmlwdGlvbjogXCJUaGUgbmFtZSBvZiB0aGUgRm9yd2FyZGluZyBSdWxlXCIsXG4gICAgfSk7XG5cbiAgICB0aGlzLnByb3Zpc2lvbmluZ1N0YXRlT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dChcbiAgICAgIHRoaXMsXG4gICAgICBcInByb3Zpc2lvbmluZ19zdGF0ZVwiLFxuICAgICAge1xuICAgICAgICB2YWx1ZTogYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5wcm92aXNpb25pbmdTdGF0ZX1gLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBGb3J3YXJkaW5nIFJ1bGVcIixcbiAgICAgIH0sXG4gICAgKTtcblxuICAgIC8vIE92ZXJyaWRlIGxvZ2ljYWwgSURzIHRvIG1hdGNoIG5hbWluZyBjb252ZW50aW9uXG4gICAgdGhpcy5pZE91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcImlkXCIpO1xuICAgIHRoaXMubmFtZU91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcIm5hbWVcIik7XG4gICAgdGhpcy5wcm92aXNpb25pbmdTdGF0ZU91dHB1dC5vdmVycmlkZUxvZ2ljYWxJZChcInByb3Zpc2lvbmluZ19zdGF0ZVwiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgdGhlIEZvcndhcmRpbmcgUnVsZVxuICAgKiBGb3J3YXJkaW5nIFJ1bGVzIGFyZSBjaGlsZCByZXNvdXJjZXMgb2YgRE5TIEZvcndhcmRpbmcgUnVsZXNldHNcbiAgICovXG4gIHByb3RlY3RlZCByZXNvbHZlUGFyZW50SWQocHJvcHM6IGFueSk6IHN0cmluZyB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIEZvcndhcmRpbmdSdWxlUHJvcHM7XG4gICAgcmV0dXJuIHR5cGVkUHJvcHMuZG5zRm9yd2FyZGluZ1J1bGVzZXRJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBkZWZhdWx0IEFQSSB2ZXJzaW9uIHRvIHVzZSB3aGVuIG5vIGV4cGxpY2l0IHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZGVmYXVsdFZlcnNpb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCIyMDIyLTA3LTAxXCI7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgQXp1cmUgcmVzb3VyY2UgdHlwZSBmb3IgRm9yd2FyZGluZyBSdWxlc1xuICAgKi9cbiAgcHJvdGVjdGVkIHJlc291cmNlVHlwZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBGT1JXQVJESU5HX1JVTEVfVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIEZvcndhcmRpbmdSdWxlUHJvcHM7XG5cbiAgICBjb25zdCBwcm9wZXJ0aWVzOiBGb3J3YXJkaW5nUnVsZVByb3BlcnRpZXMgPSB7XG4gICAgICBkb21haW5OYW1lOiB0eXBlZFByb3BzLmRvbWFpbk5hbWUsXG4gICAgICB0YXJnZXREbnNTZXJ2ZXJzOiB0eXBlZFByb3BzLnRhcmdldERuc1NlcnZlcnMubWFwKChzZXJ2ZXIpID0+ICh7XG4gICAgICAgIGlwQWRkcmVzczogc2VydmVyLmlwQWRkcmVzcyxcbiAgICAgICAgcG9ydDogc2VydmVyLnBvcnQgPz8gNTMsXG4gICAgICB9KSksXG4gICAgICBmb3J3YXJkaW5nUnVsZVN0YXRlOiB0eXBlZFByb3BzLmZvcndhcmRpbmdSdWxlU3RhdGUsXG4gICAgICBtZXRhZGF0YTogdHlwZWRQcm9wcy5tZXRhZGF0YSxcbiAgICB9O1xuXG4gICAgY29uc3QgYm9keTogRm9yd2FyZGluZ1J1bGVCb2R5ID0ge1xuICAgICAgcHJvcGVydGllcyxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGJvZHk7XG4gIH1cblxuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAvLyBQVUJMSUMgTUVUSE9EUyBGT1IgRk9SV0FSRElORyBSVUxFIE9QRVJBVElPTlNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcm92aXNpb25pbmcgc3RhdGUgb2YgdGhlIEZvcndhcmRpbmcgUnVsZVxuICAgKi9cbiAgcHVibGljIGdldCBwcm92aXNpb25pbmdTdGF0ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnByb3Zpc2lvbmluZ1N0YXRlfWA7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSB0YXJnZXQgRE5TIHNlcnZlcnNcbiAgICovXG4gIHB1YmxpYyBnZXQgdGFyZ2V0RG5zU2VydmVycygpOiBzdHJpbmcge1xuICAgIHJldHVybiBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm91dHB1dC5wcm9wZXJ0aWVzLnRhcmdldERuc1NlcnZlcnN9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1ldGFkYXRhXG4gICAqL1xuICBwdWJsaWMgZ2V0IG1ldGFkYXRhKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ub3V0cHV0LnByb3BlcnRpZXMubWV0YWRhdGF9YDtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBSSVZBVEUgSEVMUEVSIE1FVEhPRFNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogQXBwbGllcyBpZ25vcmUgY2hhbmdlcyBsaWZlY3ljbGUgcnVsZXMgaWYgc3BlY2lmaWVkIGluIHByb3BzXG4gICAqL1xuICBwcml2YXRlIF9hcHBseUlnbm9yZUNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyAmJiB0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5hZGRPdmVycmlkZShcImxpZmVjeWNsZVwiLCB7XG4gICAgICAgIGlnbm9yZV9jaGFuZ2VzOiB0aGlzLnByb3BzLmlnbm9yZUNoYW5nZXMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./dns-forwarding-ruleset-schemas"), exports);
|
|
18
|
+
__exportStar(require("./dns-forwarding-ruleset"), exports);
|
|
19
|
+
__exportStar(require("./forwarding-rule-schemas"), exports);
|
|
20
|
+
__exportStar(require("./forwarding-rule"), exports);
|
|
21
|
+
__exportStar(require("./virtual-network-link-schemas"), exports);
|
|
22
|
+
__exportStar(require("./virtual-network-link"), exports);
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtZG5zZm9yd2FyZGluZ3J1bGVzZXQvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxtRUFBaUQ7QUFDakQsMkRBQXlDO0FBQ3pDLDREQUEwQztBQUMxQyxvREFBa0M7QUFDbEMsaUVBQStDO0FBQy9DLHlEQUF1QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2Rucy1mb3J3YXJkaW5nLXJ1bGVzZXQtc2NoZW1hc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZG5zLWZvcndhcmRpbmctcnVsZXNldFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9yd2FyZGluZy1ydWxlLXNjaGVtYXNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2ZvcndhcmRpbmctcnVsZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmlydHVhbC1uZXR3b3JrLWxpbmstc2NoZW1hc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdmlydHVhbC1uZXR3b3JrLWxpbmtcIjtcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API schemas for Azure DNS Forwarding Ruleset Virtual Network Link across all supported versions
|
|
3
|
+
*
|
|
4
|
+
* This file defines the complete API schemas for Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks
|
|
5
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
6
|
+
* framework for validation, transformation, and version management.
|
|
7
|
+
*/
|
|
8
|
+
import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
9
|
+
/**
|
|
10
|
+
* API Schema for Virtual Network Link version 2022-07-01
|
|
11
|
+
*/
|
|
12
|
+
export declare const VIRTUAL_NETWORK_LINK_SCHEMA_2022_07_01: ApiSchema;
|
|
13
|
+
/**
|
|
14
|
+
* Version configuration for Virtual Network Link 2022-07-01
|
|
15
|
+
*/
|
|
16
|
+
export declare const VIRTUAL_NETWORK_LINK_VERSION_2022_07_01: VersionConfig;
|
|
17
|
+
/**
|
|
18
|
+
* All supported Virtual Network Link versions for registration
|
|
19
|
+
*/
|
|
20
|
+
export declare const ALL_VIRTUAL_NETWORK_LINK_VERSIONS: VersionConfig[];
|
|
21
|
+
/**
|
|
22
|
+
* Resource type constant
|
|
23
|
+
*/
|
|
24
|
+
export declare const VIRTUAL_NETWORK_LINK_TYPE = "Microsoft.Network/dnsForwardingRulesets/virtualNetworkLinks";
|