@microsoft/terraform-cdk-constructs 1.2.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +54846 -26661
- package/API.md +72091 -23784
- package/lib/azure-actiongroup/index.d.ts +0 -10
- package/lib/azure-actiongroup/index.js +1 -11
- package/lib/azure-actiongroup/lib/action-group.d.ts +0 -10
- package/lib/azure-actiongroup/lib/action-group.js +6 -32
- package/lib/azure-actiongroup/lib/index.d.ts +1 -4
- package/lib/azure-actiongroup/lib/index.js +2 -5
- package/lib/azure-activitylogalert/index.d.ts +0 -10
- package/lib/azure-activitylogalert/index.js +1 -11
- package/lib/azure-activitylogalert/lib/activity-log-alert.d.ts +0 -10
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +6 -32
- package/lib/azure-activitylogalert/lib/index.d.ts +1 -4
- package/lib/azure-activitylogalert/lib/index.js +2 -5
- package/lib/azure-aks/index.d.ts +0 -8
- package/lib/azure-aks/index.js +1 -11
- package/lib/azure-aks/lib/aks-cluster.d.ts +4 -13
- package/lib/azure-aks/lib/aks-cluster.js +13 -36
- package/lib/azure-aks/lib/index.d.ts +1 -10
- package/lib/azure-aks/lib/index.js +2 -21
- package/lib/azure-diagnosticsettings/index.d.ts +0 -6
- package/lib/azure-diagnosticsettings/index.js +1 -7
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.d.ts +0 -10
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +6 -32
- package/lib/azure-diagnosticsettings/lib/index.d.ts +1 -7
- package/lib/azure-diagnosticsettings/lib/index.js +2 -8
- package/lib/azure-dnsforwardingruleset/index.d.ts +1 -0
- package/lib/azure-dnsforwardingruleset/index.js +18 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset-schemas.js +206 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.d.ts +174 -0
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +214 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule-schemas.js +242 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.d.ts +193 -0
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +193 -0
- package/lib/azure-dnsforwardingruleset/lib/index.d.ts +6 -0
- package/lib/azure-dnsforwardingruleset/lib/index.js +23 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.d.ts +24 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link-schemas.js +199 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.d.ts +160 -0
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +178 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.integ.js +133 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/dns-forwarding-ruleset.spec.js +350 -0
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/forwarding-rule.spec.js +397 -0
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.d.ts +9 -0
- package/lib/azure-dnsforwardingruleset/test/virtual-network-link.spec.js +285 -0
- package/lib/azure-dnsresolver/index.d.ts +1 -0
- package/lib/azure-dnsresolver/index.js +18 -0
- package/lib/azure-dnsresolver/lib/dns-resolver-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/dns-resolver-schemas.js +218 -0
- package/lib/azure-dnsresolver/lib/dns-resolver.d.ts +170 -0
- package/lib/azure-dnsresolver/lib/dns-resolver.js +236 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint-schemas.js +261 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint.d.ts +189 -0
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +243 -0
- package/lib/azure-dnsresolver/lib/index.d.ts +6 -0
- package/lib/azure-dnsresolver/lib/index.js +23 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.d.ts +24 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint-schemas.js +231 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint.d.ts +175 -0
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +234 -0
- package/lib/azure-dnsresolver/test/dns-resolver.integ.d.ts +14 -0
- package/lib/azure-dnsresolver/test/dns-resolver.integ.js +117 -0
- package/lib/azure-dnsresolver/test/dns-resolver.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/dns-resolver.spec.js +353 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.d.ts +9 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.integ.js +151 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/inbound-endpoint.spec.js +441 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.d.ts +9 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.integ.js +149 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.d.ts +9 -0
- package/lib/azure-dnsresolver/test/outbound-endpoint.spec.js +301 -0
- package/lib/azure-dnszone/index.d.ts +1 -0
- package/lib/azure-dnszone/index.js +18 -0
- package/lib/azure-dnszone/lib/dns-zone-schemas.d.ts +24 -0
- package/lib/azure-dnszone/lib/dns-zone-schemas.js +191 -0
- package/lib/azure-dnszone/lib/dns-zone.d.ts +182 -0
- package/lib/azure-dnszone/lib/dns-zone.js +228 -0
- package/lib/azure-dnszone/lib/index.d.ts +2 -0
- package/lib/azure-dnszone/lib/index.js +19 -0
- package/lib/azure-dnszone/test/dns-zone.integ.d.ts +9 -0
- package/lib/azure-dnszone/test/dns-zone.integ.js +85 -0
- package/lib/azure-dnszone/test/dns-zone.spec.d.ts +9 -0
- package/lib/azure-dnszone/test/dns-zone.spec.js +285 -0
- package/lib/azure-metricalert/index.d.ts +0 -10
- package/lib/azure-metricalert/index.js +1 -11
- package/lib/azure-metricalert/lib/index.d.ts +1 -4
- package/lib/azure-metricalert/lib/index.js +2 -5
- package/lib/azure-metricalert/lib/metric-alert.d.ts +0 -10
- package/lib/azure-metricalert/lib/metric-alert.js +6 -32
- package/lib/azure-networkinterface/index.d.ts +0 -3
- package/lib/azure-networkinterface/index.js +1 -4
- package/lib/azure-networkinterface/lib/index.d.ts +1 -5
- package/lib/azure-networkinterface/lib/index.js +2 -5
- package/lib/azure-networkinterface/lib/network-interface.d.ts +4 -9
- package/lib/azure-networkinterface/lib/network-interface.js +14 -29
- package/lib/azure-networkinterface/test/network-interface.integ.js +20 -6
- package/lib/azure-networksecuritygroup/index.d.ts +0 -5
- package/lib/azure-networksecuritygroup/index.js +1 -6
- package/lib/azure-networksecuritygroup/lib/index.d.ts +2 -5
- package/lib/azure-networksecuritygroup/lib/index.js +17 -14
- package/lib/azure-networksecuritygroup/lib/network-security-group.d.ts +4 -13
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +14 -36
- package/lib/azure-policyassignment/index.d.ts +1 -0
- package/lib/azure-policyassignment/index.js +18 -0
- package/lib/azure-policyassignment/lib/index.d.ts +2 -0
- package/lib/azure-policyassignment/lib/index.js +19 -0
- package/lib/azure-policyassignment/lib/policy-assignment-schemas.d.ts +25 -0
- package/lib/azure-policyassignment/lib/policy-assignment-schemas.js +260 -0
- package/lib/azure-policyassignment/lib/policy-assignment.d.ts +342 -0
- package/lib/azure-policyassignment/lib/policy-assignment.js +228 -0
- package/lib/azure-policyassignment/test/policy-assignment.integ.d.ts +13 -0
- package/lib/azure-policyassignment/test/policy-assignment.integ.js +153 -0
- package/lib/azure-policyassignment/test/policy-assignment.spec.d.ts +9 -0
- package/lib/azure-policyassignment/test/policy-assignment.spec.js +651 -0
- package/lib/azure-policydefinition/index.d.ts +1 -0
- package/lib/azure-policydefinition/index.js +18 -0
- package/lib/azure-policydefinition/lib/index.d.ts +2 -0
- package/lib/azure-policydefinition/lib/index.js +19 -0
- package/lib/azure-policydefinition/lib/policy-definition-schemas.d.ts +25 -0
- package/lib/azure-policydefinition/lib/policy-definition-schemas.js +210 -0
- package/lib/azure-policydefinition/lib/policy-definition.d.ts +260 -0
- package/lib/azure-policydefinition/lib/policy-definition.js +199 -0
- package/lib/azure-policydefinition/test/policy-definition.integ.d.ts +9 -0
- package/lib/azure-policydefinition/test/policy-definition.integ.js +137 -0
- package/lib/azure-policydefinition/test/policy-definition.spec.d.ts +9 -0
- package/lib/azure-policydefinition/test/policy-definition.spec.js +596 -0
- package/lib/azure-privatednszone/index.d.ts +1 -0
- package/lib/azure-privatednszone/index.js +18 -0
- package/lib/azure-privatednszone/lib/index.d.ts +2 -0
- package/lib/azure-privatednszone/lib/index.js +19 -0
- package/lib/azure-privatednszone/lib/private-dns-zone-schemas.d.ts +24 -0
- package/lib/azure-privatednszone/lib/private-dns-zone-schemas.js +254 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +178 -0
- package/lib/azure-privatednszone/lib/private-dns-zone.js +272 -0
- package/lib/azure-privatednszone/test/private-dns-zone.integ.d.ts +9 -0
- package/lib/azure-privatednszone/test/private-dns-zone.integ.js +84 -0
- package/lib/azure-privatednszone/test/private-dns-zone.spec.d.ts +9 -0
- package/lib/azure-privatednszone/test/private-dns-zone.spec.js +341 -0
- package/lib/azure-privatednszonelink/index.d.ts +1 -0
- package/lib/azure-privatednszonelink/index.js +18 -0
- package/lib/azure-privatednszonelink/lib/index.d.ts +2 -0
- package/lib/azure-privatednszonelink/lib/index.js +19 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.d.ts +24 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link-schemas.js +262 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.d.ts +202 -0
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +250 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.d.ts +9 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.integ.js +110 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.d.ts +9 -0
- package/lib/azure-privatednszonelink/test/private-dns-zone-link.spec.js +465 -0
- package/lib/azure-publicipaddress/index.d.ts +0 -5
- package/lib/azure-publicipaddress/index.js +1 -6
- package/lib/azure-publicipaddress/lib/index.d.ts +2 -9
- package/lib/azure-publicipaddress/lib/index.js +17 -17
- package/lib/azure-publicipaddress/lib/public-ip-address.d.ts +4 -13
- package/lib/azure-publicipaddress/lib/public-ip-address.js +14 -36
- package/lib/azure-resourcegroup/index.d.ts +0 -37
- package/lib/azure-resourcegroup/index.js +1 -39
- package/lib/azure-resourcegroup/lib/index.d.ts +1 -44
- package/lib/azure-resourcegroup/lib/index.js +2 -43
- package/lib/azure-resourcegroup/lib/resource-group.d.ts +9 -23
- package/lib/azure-resourcegroup/lib/resource-group.js +23 -56
- package/lib/azure-resourcegroup/test/resource-group.spec.js +13 -19
- package/lib/azure-roleassignment/index.d.ts +1 -0
- package/lib/azure-roleassignment/index.js +18 -0
- package/lib/azure-roleassignment/lib/index.d.ts +2 -0
- package/lib/azure-roleassignment/lib/index.js +19 -0
- package/lib/azure-roleassignment/lib/role-assignment-schemas.d.ts +25 -0
- package/lib/azure-roleassignment/lib/role-assignment-schemas.js +238 -0
- package/lib/azure-roleassignment/lib/role-assignment.d.ts +294 -0
- package/lib/azure-roleassignment/lib/role-assignment.js +257 -0
- package/lib/azure-roleassignment/test/role-assignment.integ.d.ts +12 -0
- package/lib/azure-roleassignment/test/role-assignment.integ.js +101 -0
- package/lib/azure-roleassignment/test/role-assignment.spec.d.ts +9 -0
- package/lib/azure-roleassignment/test/role-assignment.spec.js +633 -0
- package/lib/azure-roledefinition/index.d.ts +1 -0
- package/lib/azure-roledefinition/index.js +18 -0
- package/lib/azure-roledefinition/lib/index.d.ts +2 -0
- package/lib/azure-roledefinition/lib/index.js +19 -0
- package/lib/azure-roledefinition/lib/role-definition-schemas.d.ts +25 -0
- package/lib/azure-roledefinition/lib/role-definition-schemas.js +195 -0
- package/lib/azure-roledefinition/lib/role-definition.d.ts +236 -0
- package/lib/azure-roledefinition/lib/role-definition.js +192 -0
- package/lib/azure-roledefinition/test/role-definition.integ.d.ts +12 -0
- package/lib/azure-roledefinition/test/role-definition.integ.js +142 -0
- package/lib/azure-roledefinition/test/role-definition.spec.d.ts +9 -0
- package/lib/azure-roledefinition/test/role-definition.spec.js +946 -0
- package/lib/azure-storageaccount/index.d.ts +0 -19
- package/lib/azure-storageaccount/index.js +1 -20
- package/lib/azure-storageaccount/lib/index.d.ts +1 -7
- package/lib/azure-storageaccount/lib/index.js +2 -8
- package/lib/azure-storageaccount/lib/storage-account.d.ts +4 -9
- package/lib/azure-storageaccount/lib/storage-account.js +15 -29
- package/lib/azure-subnet/index.d.ts +0 -3
- package/lib/azure-subnet/index.js +1 -4
- package/lib/azure-subnet/lib/index.d.ts +1 -4
- package/lib/azure-subnet/lib/index.js +2 -5
- package/lib/azure-subnet/lib/subnet.d.ts +3 -14
- package/lib/azure-subnet/lib/subnet.js +28 -47
- package/lib/azure-subnet/test/subnet.integ.js +19 -7
- package/lib/azure-subnet/test/subnet.spec.js +1 -2
- package/lib/azure-virtualmachine/index.d.ts +0 -6
- package/lib/azure-virtualmachine/index.js +1 -7
- package/lib/azure-virtualmachine/lib/index.d.ts +1 -10
- package/lib/azure-virtualmachine/lib/index.js +2 -21
- package/lib/azure-virtualmachine/lib/virtual-machine.d.ts +4 -13
- package/lib/azure-virtualmachine/lib/virtual-machine.js +15 -36
- package/lib/azure-virtualnetwork/index.d.ts +0 -9
- package/lib/azure-virtualnetwork/index.js +1 -11
- package/lib/azure-virtualnetwork/lib/index.d.ts +2 -9
- package/lib/azure-virtualnetwork/lib/index.js +17 -20
- package/lib/azure-virtualnetwork/lib/virtual-network.d.ts +4 -13
- package/lib/azure-virtualnetwork/lib/virtual-network.js +15 -36
- package/lib/azure-virtualnetworkmanager/index.d.ts +1 -0
- package/lib/azure-virtualnetworkmanager/index.js +18 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.d.ts +48 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration-schemas.js +265 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.d.ts +185 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +206 -0
- package/lib/azure-virtualnetworkmanager/lib/index.d.ts +14 -0
- package/lib/azure-virtualnetworkmanager/lib/index.js +31 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-schemas.js +189 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member-schemas.js +201 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.d.ts +135 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +163 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group.d.ts +139 -0
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +158 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration-schemas.js +182 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.d.ts +144 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +164 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.d.ts +38 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection-schemas.js +206 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.d.ts +142 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +162 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.d.ts +39 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-schemas.js +359 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.d.ts +221 -0
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +204 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager-schemas.js +236 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +337 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +283 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +25 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +402 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.d.ts +9 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +1652 -0
- package/lib/azure-vmss/index.d.ts +0 -5
- package/lib/azure-vmss/index.js +1 -6
- package/lib/azure-vmss/lib/index.d.ts +0 -7
- package/lib/azure-vmss/lib/index.js +1 -21
- package/lib/azure-vmss/lib/virtual-machine-scale-set.d.ts +5 -13
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +29 -53
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.d.ts +10 -0
- package/lib/core-azure/lib/azapi/azapi-resource-tags.spec.js +218 -0
- package/lib/core-azure/lib/azapi/azapi-resource.d.ts +178 -26
- package/lib/core-azure/lib/azapi/azapi-resource.js +328 -90
- package/lib/core-azure/lib/azapi/azapi-resource.spec.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-client-config/index.js +2 -2
- package/lib/core-azure/lib/azapi/providers-azapi/data-azapi-resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/provider/index.js +5 -3
- package/lib/core-azure/lib/azapi/providers-azapi/resource/index.js +5 -5
- package/lib/core-azure/lib/azapi/providers-azapi/resource-action/index.js +3 -3
- package/lib/core-azure/lib/azapi/providers-azapi/update-resource/index.js +3 -3
- package/lib/core-azure/lib/azapi/resource-schema-validator.d.ts +118 -0
- package/lib/core-azure/lib/azapi/resource-schema-validator.js +236 -0
- package/lib/core-azure/lib/azapi/resource-version-manager.d.ts +103 -0
- package/lib/core-azure/lib/azapi/resource-version-manager.js +168 -0
- package/lib/core-azure/lib/azapi/schema-mapper/schema-mapper.js +11 -6
- package/lib/core-azure/lib/index.d.ts +2 -2
- package/lib/core-azure/lib/index.js +5 -5
- package/lib/core-azure/lib/version-manager/api-version-manager.js +1 -1
- package/lib/core-azure/lib/version-manager/interfaces/version-interfaces.js +7 -7
- package/lib/index.d.ts +19 -0
- package/lib/index.js +21 -2
- package/lib/testing/index.js +2 -2
- package/lib/testing/lib/cleanup.d.ts +1 -0
- package/lib/testing/lib/cleanup.js +19 -12
- package/lib/testing/lib/metadata.js +19 -16
- package/package.json +1 -1
- package/scripts/cleanup-test-resources.ts +22 -4
- package/scripts/generate-index.js +25 -8
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API schemas for Azure DNS Forwarding Ruleset across all supported versions
|
|
3
|
+
*
|
|
4
|
+
* This file defines the complete API schemas for Microsoft.Network/dnsForwardingRulesets
|
|
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 DNS Forwarding Ruleset version 2022-07-01
|
|
11
|
+
*/
|
|
12
|
+
export declare const DNS_FORWARDING_RULESET_SCHEMA_2022_07_01: ApiSchema;
|
|
13
|
+
/**
|
|
14
|
+
* Version configuration for DNS Forwarding Ruleset 2022-07-01
|
|
15
|
+
*/
|
|
16
|
+
export declare const DNS_FORWARDING_RULESET_VERSION_2022_07_01: VersionConfig;
|
|
17
|
+
/**
|
|
18
|
+
* All supported DNS Forwarding Ruleset versions for registration
|
|
19
|
+
*/
|
|
20
|
+
export declare const ALL_DNS_FORWARDING_RULESET_VERSIONS: VersionConfig[];
|
|
21
|
+
/**
|
|
22
|
+
* Resource type constant
|
|
23
|
+
*/
|
|
24
|
+
export declare const DNS_FORWARDING_RULESET_TYPE = "Microsoft.Network/dnsForwardingRulesets";
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure DNS Forwarding Ruleset across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Network/dnsForwardingRulesets
|
|
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.DNS_FORWARDING_RULESET_TYPE = exports.ALL_DNS_FORWARDING_RULESET_VERSIONS = exports.DNS_FORWARDING_RULESET_VERSION_2022_07_01 = exports.DNS_FORWARDING_RULESET_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 DNS Forwarding Ruleset versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_PROPERTIES = {
|
|
19
|
+
location: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: true,
|
|
22
|
+
description: "The Azure region where the DNS Forwarding Ruleset will be created. DNS Forwarding Rulesets are regional resources.",
|
|
23
|
+
validation: [
|
|
24
|
+
{
|
|
25
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
26
|
+
message: "Location is required for DNS Forwarding Rulesets",
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
},
|
|
30
|
+
tags: {
|
|
31
|
+
dataType: version_interfaces_1.PropertyType.OBJECT,
|
|
32
|
+
required: false,
|
|
33
|
+
defaultValue: {},
|
|
34
|
+
description: "A dictionary of tags to apply to the DNS Forwarding Ruleset for organizational, billing, or other purposes",
|
|
35
|
+
validation: [
|
|
36
|
+
{
|
|
37
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
38
|
+
value: version_interfaces_1.PropertyType.OBJECT,
|
|
39
|
+
message: "Tags must be an object with string key-value pairs",
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
},
|
|
43
|
+
name: {
|
|
44
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
45
|
+
required: true,
|
|
46
|
+
description: "The name of the DNS Forwarding Ruleset. Must be unique within the resource group.",
|
|
47
|
+
validation: [
|
|
48
|
+
{
|
|
49
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
50
|
+
message: "DNS Forwarding Ruleset name is required",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
54
|
+
value: "^[a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?$",
|
|
55
|
+
message: "DNS Forwarding Ruleset name must start and end with alphanumeric characters and can contain hyphens",
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
ruleType: version_interfaces_1.ValidationRuleType.VALUE_RANGE,
|
|
59
|
+
value: { minLength: 1, maxLength: 80 },
|
|
60
|
+
message: "DNS Forwarding Ruleset name must be between 1 and 80 characters",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
dnsResolverOutboundEndpointIds: {
|
|
65
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
66
|
+
required: true,
|
|
67
|
+
description: "Array of resource IDs of DNS Resolver Outbound Endpoints that this ruleset will use for forwarding DNS queries",
|
|
68
|
+
validation: [
|
|
69
|
+
{
|
|
70
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
71
|
+
message: "At least one DNS Resolver Outbound Endpoint ID is required for DNS Forwarding Rulesets",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
75
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
76
|
+
message: "DnsResolverOutboundEndpointIds must be an array of strings",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
ignoreChanges: {
|
|
81
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
82
|
+
required: false,
|
|
83
|
+
description: "Array of property names to ignore during updates",
|
|
84
|
+
validation: [
|
|
85
|
+
{
|
|
86
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
87
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
88
|
+
message: "IgnoreChanges must be an array of strings",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
// =============================================================================
|
|
94
|
+
// READ-ONLY PROPERTY DEFINITIONS
|
|
95
|
+
// =============================================================================
|
|
96
|
+
/**
|
|
97
|
+
* Read-only properties that are populated by Azure after creation
|
|
98
|
+
* These properties should not be included in the request body
|
|
99
|
+
*/
|
|
100
|
+
const READ_ONLY_PROPERTIES = {
|
|
101
|
+
provisioningState: {
|
|
102
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
103
|
+
required: false,
|
|
104
|
+
description: "The provisioning state of the DNS Forwarding Ruleset resource (read-only)",
|
|
105
|
+
validation: [
|
|
106
|
+
{
|
|
107
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
108
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
109
|
+
message: "ProvisioningState must be a string",
|
|
110
|
+
},
|
|
111
|
+
],
|
|
112
|
+
},
|
|
113
|
+
resourceGuid: {
|
|
114
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
115
|
+
required: false,
|
|
116
|
+
description: "The unique identifier for the DNS Forwarding Ruleset resource (read-only)",
|
|
117
|
+
validation: [
|
|
118
|
+
{
|
|
119
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
120
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
121
|
+
message: "ResourceGuid must be a string",
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
// =============================================================================
|
|
127
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
128
|
+
// =============================================================================
|
|
129
|
+
/**
|
|
130
|
+
* API Schema for DNS Forwarding Ruleset version 2022-07-01
|
|
131
|
+
*/
|
|
132
|
+
exports.DNS_FORWARDING_RULESET_SCHEMA_2022_07_01 = {
|
|
133
|
+
resourceType: "Microsoft.Network/dnsForwardingRulesets",
|
|
134
|
+
version: "2022-07-01",
|
|
135
|
+
properties: {
|
|
136
|
+
...COMMON_PROPERTIES,
|
|
137
|
+
...READ_ONLY_PROPERTIES,
|
|
138
|
+
},
|
|
139
|
+
required: ["location", "name", "dnsResolverOutboundEndpointIds"],
|
|
140
|
+
optional: ["tags", "ignoreChanges"],
|
|
141
|
+
deprecated: [],
|
|
142
|
+
transformationRules: {},
|
|
143
|
+
validationRules: [
|
|
144
|
+
{
|
|
145
|
+
property: "location",
|
|
146
|
+
rules: [
|
|
147
|
+
{
|
|
148
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
149
|
+
message: "Location is required for DNS Forwarding Rulesets",
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
property: "name",
|
|
155
|
+
rules: [
|
|
156
|
+
{
|
|
157
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
158
|
+
message: "Name is required for DNS Forwarding Rulesets",
|
|
159
|
+
},
|
|
160
|
+
],
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
property: "dnsResolverOutboundEndpointIds",
|
|
164
|
+
rules: [
|
|
165
|
+
{
|
|
166
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
167
|
+
message: "At least one DNS Resolver Outbound Endpoint ID is required",
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
},
|
|
171
|
+
],
|
|
172
|
+
};
|
|
173
|
+
// =============================================================================
|
|
174
|
+
// VERSION CONFIGURATIONS
|
|
175
|
+
// =============================================================================
|
|
176
|
+
/**
|
|
177
|
+
* Version configuration for DNS Forwarding Ruleset 2022-07-01
|
|
178
|
+
*/
|
|
179
|
+
exports.DNS_FORWARDING_RULESET_VERSION_2022_07_01 = {
|
|
180
|
+
version: "2022-07-01",
|
|
181
|
+
schema: exports.DNS_FORWARDING_RULESET_SCHEMA_2022_07_01,
|
|
182
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
183
|
+
releaseDate: "2022-07-01",
|
|
184
|
+
deprecationDate: undefined,
|
|
185
|
+
sunsetDate: undefined,
|
|
186
|
+
breakingChanges: [],
|
|
187
|
+
migrationGuide: "/docs/dns-forwarding-ruleset/migration-2022-07-01",
|
|
188
|
+
changeLog: [
|
|
189
|
+
{
|
|
190
|
+
changeType: "added",
|
|
191
|
+
description: "Stable release of DNS Forwarding Ruleset API with support for conditional DNS forwarding",
|
|
192
|
+
breaking: false,
|
|
193
|
+
},
|
|
194
|
+
],
|
|
195
|
+
};
|
|
196
|
+
/**
|
|
197
|
+
* All supported DNS Forwarding Ruleset versions for registration
|
|
198
|
+
*/
|
|
199
|
+
exports.ALL_DNS_FORWARDING_RULESET_VERSIONS = [
|
|
200
|
+
exports.DNS_FORWARDING_RULESET_VERSION_2022_07_01,
|
|
201
|
+
];
|
|
202
|
+
/**
|
|
203
|
+
* Resource type constant
|
|
204
|
+
*/
|
|
205
|
+
exports.DNS_FORWARDING_RULESET_TYPE = "Microsoft.Network/dnsForwardingRulesets";
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLWZvcndhcmRpbmctcnVsZXNldC1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRuc2ZvcndhcmRpbmdydWxlc2V0L2xpYi9kbnMtZm9yd2FyZGluZy1ydWxlc2V0LXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBMEM7SUFDL0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCxvSEFBb0g7UUFDdEgsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxrREFBa0Q7YUFDNUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCw0R0FBNEc7UUFDOUcsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sRUFBRSxvREFBb0Q7YUFDOUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCxtRkFBbUY7UUFDckYsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSx5Q0FBeUM7YUFDbkQ7WUFDRDtnQkFDRSxRQUFR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aUJBQ3hEO2FBQ0Y7U0FDRjtRQUNEO1lBQ0UsUUFBUSxFQUFFLGdDQUFnQztZQUMxQyxLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSw0REFBNEQ7aUJBQ3RFO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRix5QkFBeUI7QUFDekIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ1UsUUFBQSx5Q0FBeUMsR0FBa0I7SUFDdEUsT0FBTyxFQUFFLFlBQVk7SUFDckIsTUFBTSxFQUFFLGdEQUF3QztJQUNoRCxZQUFZLEVBQUUsd0NBQW1CLENBQUMsTUFBTTtJQUN4QyxXQUFXLEVBQUUsWUFBWTtJQUN6QixlQUFlLEVBQUUsU0FBUztJQUMxQixVQUFVLEVBQUUsU0FBUztJQUNyQixlQUFlLEVBQUUsRUFBRTtJQUNuQixjQUFjLEVBQUUsbURBQW1EO0lBQ25FLFNBQVMsRUFBRTtRQUNUO1lBQ0UsVUFBVSxFQUFFLE9BQU87WUFDbkIsV0FBVyxFQUNULDBGQUEwRjtZQUM1RixRQUFRLEVBQUUsS0FBSztTQUNoQjtLQUNGO0NBQ0YsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxtQ0FBbUMsR0FBb0I7SUFDbEUsaURBQXlDO0NBQzFDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsMkJBQTJCLEdBQ3RDLHlDQUF5QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgRE5TIEZvcndhcmRpbmcgUnVsZXNldCBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lk5ldHdvcmsvZG5zRm9yd2FyZGluZ1J1bGVzZXRzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHZlcnNpb25zXG4gKi9cbmNvbnN0IENPTU1PTl9QUk9QRVJUSUVTOiB7IFtrZXk6IHN0cmluZ106IFByb3BlcnR5RGVmaW5pdGlvbiB9ID0ge1xuICBsb2NhdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgQXp1cmUgcmVnaW9uIHdoZXJlIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHdpbGwgYmUgY3JlYXRlZC4gRE5TIEZvcndhcmRpbmcgUnVsZXNldHMgYXJlIHJlZ2lvbmFsIHJlc291cmNlcy5cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHRhZ3M6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiB7fSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiQSBkaWN0aW9uYXJ5IG9mIHRhZ3MgdG8gYXBwbHkgdG8gdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgZm9yIG9yZ2FuaXphdGlvbmFsLCBiaWxsaW5nLCBvciBvdGhlciBwdXJwb3Nlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLk9CSkVDVCxcbiAgICAgICAgbWVzc2FnZTogXCJUYWdzIG11c3QgYmUgYW4gb2JqZWN0IHdpdGggc3RyaW5nIGtleS12YWx1ZSBwYWlyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBuYW1lOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBuYW1lIG9mIHRoZSBETlMgRm9yd2FyZGluZyBSdWxlc2V0LiBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4gdGhlIHJlc291cmNlIGdyb3VwLlwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJETlMgRm9yd2FyZGluZyBSdWxlc2V0IG5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6IFwiXlthLXpBLVowLTldKFthLXpBLVowLTktXSpbYS16QS1aMC05XSk/JFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiRE5TIEZvcndhcmRpbmcgUnVsZXNldCBuYW1lIG11c3Qgc3RhcnQgYW5kIGVuZCB3aXRoIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBjYW4gY29udGFpbiBoeXBoZW5zXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlZBTFVFX1JBTkdFLFxuICAgICAgICB2YWx1ZTogeyBtaW5MZW5ndGg6IDEsIG1heExlbmd0aDogODAgfSxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIkROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgODAgY2hhcmFjdGVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBkbnNSZXNvbHZlck91dGJvdW5kRW5kcG9pbnRJZHM6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBcnJheSBvZiByZXNvdXJjZSBJRHMgb2YgRE5TIFJlc29sdmVyIE91dGJvdW5kIEVuZHBvaW50cyB0aGF0IHRoaXMgcnVsZXNldCB3aWxsIHVzZSBmb3IgZm9yd2FyZGluZyBETlMgcXVlcmllc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTpcbiAgICAgICAgICBcIkF0IGxlYXN0IG9uZSBETlMgUmVzb2x2ZXIgT3V0Ym91bmQgRW5kcG9pbnQgSUQgaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiRG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50SWRzIG11c3QgYmUgYW4gYXJyYXkgb2Ygc3RyaW5nc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBpZ25vcmVDaGFuZ2VzOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5BUlJBWSxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiQXJyYXkgb2YgcHJvcGVydHkgbmFtZXMgdG8gaWdub3JlIGR1cmluZyB1cGRhdGVzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgICAgIG1lc3NhZ2U6IFwiSWdub3JlQ2hhbmdlcyBtdXN0IGJlIGFuIGFycmF5IG9mIHN0cmluZ3NcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBSRUFELU9OTFkgUFJPUEVSVFkgREVGSU5JVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVhZC1vbmx5IHByb3BlcnRpZXMgdGhhdCBhcmUgcG9wdWxhdGVkIGJ5IEF6dXJlIGFmdGVyIGNyZWF0aW9uXG4gKiBUaGVzZSBwcm9wZXJ0aWVzIHNob3VsZCBub3QgYmUgaW5jbHVkZWQgaW4gdGhlIHJlcXVlc3QgYm9keVxuICovXG5jb25zdCBSRUFEX09OTFlfUFJPUEVSVElFUzogeyBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb24gfSA9IHtcbiAgcHJvdmlzaW9uaW5nU3RhdGU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBwcm92aXNpb25pbmcgc3RhdGUgb2YgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgcmVzb3VyY2UgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUHJvdmlzaW9uaW5nU3RhdGUgbXVzdCBiZSBhIHN0cmluZ1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICByZXNvdXJjZUd1aWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgcmVzb3VyY2UgKHJlYWQtb25seSlcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUmVzb3VyY2VHdWlkIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgRE5TIEZvcndhcmRpbmcgUnVsZXNldCB2ZXJzaW9uIDIwMjItMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEROU19GT1JXQVJESU5HX1JVTEVTRVRfU0NIRU1BXzIwMjJfMDdfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL2Ruc0ZvcndhcmRpbmdSdWxlc2V0c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDctMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICAgIC4uLlJFQURfT05MWV9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIiwgXCJuYW1lXCIsIFwiZG5zUmVzb2x2ZXJPdXRib3VuZEVuZHBvaW50SWRzXCJdLFxuICBvcHRpb25hbDogW1widGFnc1wiLCBcImlnbm9yZUNoYW5nZXNcIl0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibG9jYXRpb25cIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTG9jYXRpb24gaXMgcmVxdWlyZWQgZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBETlMgRm9yd2FyZGluZyBSdWxlc2V0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcImRuc1Jlc29sdmVyT3V0Ym91bmRFbmRwb2ludElkc1wiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJBdCBsZWFzdCBvbmUgRE5TIFJlc29sdmVyIE91dGJvdW5kIEVuZHBvaW50IElEIGlzIHJlcXVpcmVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTiBDT05GSUdVUkFUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIEROUyBGb3J3YXJkaW5nIFJ1bGVzZXQgMjAyMi0wNy0wMVxuICovXG5leHBvcnQgY29uc3QgRE5TX0ZPUldBUkRJTkdfUlVMRVNFVF9WRVJTSU9OXzIwMjJfMDdfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyMi0wNy0wMVwiLFxuICBzY2hlbWE6IEROU19GT1JXQVJESU5HX1JVTEVTRVRfU0NIRU1BXzIwMjJfMDdfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjItMDctMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvZG5zLWZvcndhcmRpbmctcnVsZXNldC9taWdyYXRpb24tMjAyMi0wNy0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcImFkZGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgXCJTdGFibGUgcmVsZWFzZSBvZiBETlMgRm9yd2FyZGluZyBSdWxlc2V0IEFQSSB3aXRoIHN1cHBvcnQgZm9yIGNvbmRpdGlvbmFsIEROUyBmb3J3YXJkaW5nXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBETlMgRm9yd2FyZGluZyBSdWxlc2V0IHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9ETlNfRk9SV0FSRElOR19SVUxFU0VUX1ZFUlNJT05TOiBWZXJzaW9uQ29uZmlnW10gPSBbXG4gIEROU19GT1JXQVJESU5HX1JVTEVTRVRfVkVSU0lPTl8yMDIyXzA3XzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBETlNfRk9SV0FSRElOR19SVUxFU0VUX1RZUEUgPVxuICBcIk1pY3Jvc29mdC5OZXR3b3JrL2Ruc0ZvcndhcmRpbmdSdWxlc2V0c1wiO1xuIl19
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Azure DNS Forwarding Ruleset implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for creating DNS Forwarding Rulesets
|
|
5
|
+
* that work with DNS Resolver Outbound Endpoints to enable conditional forwarding rules.
|
|
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 with existing interface
|
|
15
|
+
* - JSII compliance for multi-language support
|
|
16
|
+
* - Conditional DNS forwarding for hybrid scenarios
|
|
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 unified Azure DNS Forwarding Ruleset
|
|
24
|
+
*
|
|
25
|
+
* Extends AzapiResourceProps with DNS Forwarding Ruleset specific properties
|
|
26
|
+
*/
|
|
27
|
+
export interface DnsForwardingRulesetProps extends AzapiResourceProps {
|
|
28
|
+
/**
|
|
29
|
+
* Array of resource IDs of DNS Resolver Outbound Endpoints
|
|
30
|
+
* The ruleset uses these endpoints to forward DNS queries based on the rules
|
|
31
|
+
* @example ["/subscriptions/.../dnsResolvers/resolver1/outboundEndpoints/endpoint1"]
|
|
32
|
+
*/
|
|
33
|
+
readonly dnsResolverOutboundEndpointIds: string[];
|
|
34
|
+
/**
|
|
35
|
+
* The lifecycle rules to ignore changes
|
|
36
|
+
* @example ["tags"]
|
|
37
|
+
*/
|
|
38
|
+
readonly ignoreChanges?: string[];
|
|
39
|
+
/**
|
|
40
|
+
* Resource group ID where the DNS Forwarding Ruleset will be created
|
|
41
|
+
*/
|
|
42
|
+
readonly resourceGroupId?: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* The resource body interface for Azure DNS Forwarding Ruleset API calls
|
|
46
|
+
* This matches the Azure REST API schema
|
|
47
|
+
*/
|
|
48
|
+
/**
|
|
49
|
+
* DNS Resolver Outbound Endpoint reference
|
|
50
|
+
*/
|
|
51
|
+
export interface DnsResolverOutboundEndpointReference {
|
|
52
|
+
readonly id: string;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Properties for the DNS Forwarding Ruleset body
|
|
56
|
+
*/
|
|
57
|
+
export interface DnsForwardingRulesetProperties {
|
|
58
|
+
readonly dnsResolverOutboundEndpoints: DnsResolverOutboundEndpointReference[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The resource body interface for Azure DNS Forwarding Ruleset API calls
|
|
62
|
+
* This matches the Azure REST API schema
|
|
63
|
+
*/
|
|
64
|
+
export interface DnsForwardingRulesetBody {
|
|
65
|
+
readonly location: string;
|
|
66
|
+
readonly tags?: {
|
|
67
|
+
[key: string]: string;
|
|
68
|
+
};
|
|
69
|
+
readonly properties: DnsForwardingRulesetProperties;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Unified Azure DNS Forwarding Ruleset implementation
|
|
73
|
+
*
|
|
74
|
+
* This class provides a unified implementation for creating DNS Forwarding Rulesets
|
|
75
|
+
* that enable conditional forwarding of DNS queries. Rulesets work with DNS Resolver
|
|
76
|
+
* Outbound Endpoints to route queries to specific target DNS servers based on domain names.
|
|
77
|
+
*
|
|
78
|
+
* Key Requirements:
|
|
79
|
+
* - Requires at least one DNS Resolver Outbound Endpoint
|
|
80
|
+
* - Each ruleset can contain up to 1000 forwarding rules
|
|
81
|
+
* - Regional resource (must match outbound endpoint location)
|
|
82
|
+
* - Can be linked to multiple virtual networks
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* // Basic DNS forwarding ruleset with automatic version resolution:
|
|
86
|
+
* const ruleset = new DnsForwardingRuleset(this, "ruleset", {
|
|
87
|
+
* name: "my-ruleset",
|
|
88
|
+
* location: "eastus",
|
|
89
|
+
* resourceGroupId: resourceGroup.id,
|
|
90
|
+
* dnsResolverOutboundEndpointIds: [outboundEndpoint.id],
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // DNS forwarding ruleset with tags:
|
|
95
|
+
* const ruleset = new DnsForwardingRuleset(this, "ruleset", {
|
|
96
|
+
* name: "my-ruleset",
|
|
97
|
+
* location: "eastus",
|
|
98
|
+
* resourceGroupId: resourceGroup.id,
|
|
99
|
+
* dnsResolverOutboundEndpointIds: [outboundEndpoint.id],
|
|
100
|
+
* tags: {
|
|
101
|
+
* environment: "production",
|
|
102
|
+
* purpose: "hybrid-dns"
|
|
103
|
+
* }
|
|
104
|
+
* });
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* // DNS forwarding ruleset with explicit version pinning:
|
|
108
|
+
* const ruleset = new DnsForwardingRuleset(this, "ruleset", {
|
|
109
|
+
* name: "my-ruleset",
|
|
110
|
+
* location: "eastus",
|
|
111
|
+
* resourceGroupId: resourceGroup.id,
|
|
112
|
+
* dnsResolverOutboundEndpointIds: [outboundEndpoint.id],
|
|
113
|
+
* apiVersion: "2022-07-01",
|
|
114
|
+
* });
|
|
115
|
+
*
|
|
116
|
+
* @stability stable
|
|
117
|
+
*/
|
|
118
|
+
export declare class DnsForwardingRuleset extends AzapiResource {
|
|
119
|
+
readonly props: DnsForwardingRulesetProps;
|
|
120
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
121
|
+
readonly locationOutput: cdktf.TerraformOutput;
|
|
122
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
123
|
+
readonly tagsOutput: cdktf.TerraformOutput;
|
|
124
|
+
readonly provisioningStateOutput: cdktf.TerraformOutput;
|
|
125
|
+
readonly resourceGuidOutput: cdktf.TerraformOutput;
|
|
126
|
+
/**
|
|
127
|
+
* Creates a new Azure DNS Forwarding Ruleset using the AzapiResource framework
|
|
128
|
+
*
|
|
129
|
+
* @param scope - The scope in which to define this construct
|
|
130
|
+
* @param id - The unique identifier for this instance
|
|
131
|
+
* @param props - Configuration properties for the DNS Forwarding Ruleset
|
|
132
|
+
*/
|
|
133
|
+
constructor(scope: Construct, id: string, props: DnsForwardingRulesetProps);
|
|
134
|
+
/**
|
|
135
|
+
* Gets the default API version to use when no explicit version is specified
|
|
136
|
+
*/
|
|
137
|
+
protected defaultVersion(): string;
|
|
138
|
+
/**
|
|
139
|
+
* Gets the Azure resource type for DNS Forwarding Rulesets
|
|
140
|
+
*/
|
|
141
|
+
protected resourceType(): string;
|
|
142
|
+
/**
|
|
143
|
+
* Gets the API schema for the resolved version
|
|
144
|
+
*/
|
|
145
|
+
protected apiSchema(): ApiSchema;
|
|
146
|
+
/**
|
|
147
|
+
* Indicates that location is required for DNS Forwarding Rulesets
|
|
148
|
+
*/
|
|
149
|
+
protected requiresLocation(): boolean;
|
|
150
|
+
/**
|
|
151
|
+
* Creates the resource body for the Azure API call
|
|
152
|
+
*/
|
|
153
|
+
protected createResourceBody(props: any): any;
|
|
154
|
+
/**
|
|
155
|
+
* Get the provisioning state of the DNS Forwarding Ruleset
|
|
156
|
+
*/
|
|
157
|
+
get provisioningState(): string;
|
|
158
|
+
/**
|
|
159
|
+
* Get the unique identifier for the DNS Forwarding Ruleset resource
|
|
160
|
+
*/
|
|
161
|
+
get resourceGuid(): string;
|
|
162
|
+
/**
|
|
163
|
+
* Add a tag to the DNS Forwarding Ruleset
|
|
164
|
+
*/
|
|
165
|
+
addTag(key: string, value: string): void;
|
|
166
|
+
/**
|
|
167
|
+
* Remove a tag from the DNS Forwarding Ruleset
|
|
168
|
+
*/
|
|
169
|
+
removeTag(key: string): void;
|
|
170
|
+
/**
|
|
171
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
172
|
+
*/
|
|
173
|
+
private _applyIgnoreChanges;
|
|
174
|
+
}
|