@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,261 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure DNS Resolver Inbound Endpoints across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Network/dnsResolvers/inboundEndpoints
|
|
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_RESOLVER_INBOUND_ENDPOINT_TYPE = exports.ALL_DNS_RESOLVER_INBOUND_ENDPOINT_VERSIONS = exports.DNS_RESOLVER_INBOUND_ENDPOINT_VERSION_2022_07_01 = exports.DNS_RESOLVER_INBOUND_ENDPOINT_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 Resolver Inbound Endpoint 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 Inbound Endpoint will be created. Must match the parent DNS Resolver region.",
|
|
23
|
+
validation: [
|
|
24
|
+
{
|
|
25
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
26
|
+
message: "Location is required for Inbound Endpoints",
|
|
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 Inbound Endpoint 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 Inbound Endpoint. Must be unique within the DNS Resolver",
|
|
47
|
+
validation: [
|
|
48
|
+
{
|
|
49
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
50
|
+
message: "Inbound Endpoint 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: "Inbound Endpoint 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: "Inbound Endpoint name must be between 1 and 80 characters",
|
|
61
|
+
},
|
|
62
|
+
],
|
|
63
|
+
},
|
|
64
|
+
dnsResolverId: {
|
|
65
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
66
|
+
required: true,
|
|
67
|
+
description: "The resource ID of the parent DNS Resolver",
|
|
68
|
+
validation: [
|
|
69
|
+
{
|
|
70
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
71
|
+
message: "DNS Resolver ID is required",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
75
|
+
value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/dnsResolvers/[^/]+$",
|
|
76
|
+
message: "DNS Resolver ID must be a valid resource ID",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
},
|
|
80
|
+
subnetId: {
|
|
81
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
82
|
+
required: true,
|
|
83
|
+
description: "The resource ID of the subnet where the Inbound Endpoint will be deployed. Must be a dedicated subnet between /28 and /24 with delegation to Microsoft.Network/dnsResolvers",
|
|
84
|
+
validation: [
|
|
85
|
+
{
|
|
86
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
87
|
+
message: "Subnet ID is required for Inbound Endpoints",
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
91
|
+
value: "^/subscriptions/[^/]+/resourceGroups/[^/]+/providers/Microsoft.Network/virtualNetworks/[^/]+/subnets/[^/]+$",
|
|
92
|
+
message: "Subnet ID must be a valid subnet resource ID",
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
},
|
|
96
|
+
privateIpAddress: {
|
|
97
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
98
|
+
required: false,
|
|
99
|
+
description: "The private IP address for DNS queries. If not specified, an IP will be allocated dynamically from the subnet",
|
|
100
|
+
validation: [
|
|
101
|
+
{
|
|
102
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
103
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
104
|
+
message: "PrivateIpAddress must be a string",
|
|
105
|
+
},
|
|
106
|
+
],
|
|
107
|
+
},
|
|
108
|
+
privateIpAllocationMethod: {
|
|
109
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
110
|
+
required: false,
|
|
111
|
+
defaultValue: "Dynamic",
|
|
112
|
+
description: "The IP allocation method. Possible values: 'Static' or 'Dynamic'",
|
|
113
|
+
validation: [
|
|
114
|
+
{
|
|
115
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
116
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
117
|
+
message: "PrivateIpAllocationMethod must be a string",
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
},
|
|
121
|
+
ignoreChanges: {
|
|
122
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
123
|
+
required: false,
|
|
124
|
+
description: "Array of property names to ignore during updates",
|
|
125
|
+
validation: [
|
|
126
|
+
{
|
|
127
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
128
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
129
|
+
message: "IgnoreChanges must be an array of strings",
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
// =============================================================================
|
|
135
|
+
// READ-ONLY PROPERTY DEFINITIONS
|
|
136
|
+
// =============================================================================
|
|
137
|
+
/**
|
|
138
|
+
* Read-only properties that are populated by Azure after creation
|
|
139
|
+
* These properties should not be included in the request body
|
|
140
|
+
*/
|
|
141
|
+
const READ_ONLY_PROPERTIES = {
|
|
142
|
+
provisioningState: {
|
|
143
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
144
|
+
required: false,
|
|
145
|
+
description: "The provisioning state of the Inbound Endpoint resource (read-only)",
|
|
146
|
+
validation: [
|
|
147
|
+
{
|
|
148
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
149
|
+
value: version_interfaces_1.PropertyType.STRING,
|
|
150
|
+
message: "ProvisioningState must be a string",
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
},
|
|
154
|
+
ipConfigurations: {
|
|
155
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
156
|
+
required: false,
|
|
157
|
+
description: "The IP configuration details including private IP address and subnet (read-only)",
|
|
158
|
+
validation: [
|
|
159
|
+
{
|
|
160
|
+
ruleType: version_interfaces_1.ValidationRuleType.TYPE_CHECK,
|
|
161
|
+
value: version_interfaces_1.PropertyType.ARRAY,
|
|
162
|
+
message: "IpConfigurations must be an array",
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
// =============================================================================
|
|
168
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
169
|
+
// =============================================================================
|
|
170
|
+
/**
|
|
171
|
+
* API Schema for DNS Resolver Inbound Endpoint version 2022-07-01
|
|
172
|
+
*/
|
|
173
|
+
exports.DNS_RESOLVER_INBOUND_ENDPOINT_SCHEMA_2022_07_01 = {
|
|
174
|
+
resourceType: "Microsoft.Network/dnsResolvers/inboundEndpoints",
|
|
175
|
+
version: "2022-07-01",
|
|
176
|
+
properties: {
|
|
177
|
+
...COMMON_PROPERTIES,
|
|
178
|
+
...READ_ONLY_PROPERTIES,
|
|
179
|
+
},
|
|
180
|
+
required: ["location", "name", "dnsResolverId", "subnetId"],
|
|
181
|
+
optional: [
|
|
182
|
+
"tags",
|
|
183
|
+
"privateIpAddress",
|
|
184
|
+
"privateIpAllocationMethod",
|
|
185
|
+
"ignoreChanges",
|
|
186
|
+
],
|
|
187
|
+
deprecated: [],
|
|
188
|
+
transformationRules: {},
|
|
189
|
+
validationRules: [
|
|
190
|
+
{
|
|
191
|
+
property: "location",
|
|
192
|
+
rules: [
|
|
193
|
+
{
|
|
194
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
195
|
+
message: "Location is required for Inbound Endpoints",
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
property: "name",
|
|
201
|
+
rules: [
|
|
202
|
+
{
|
|
203
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
204
|
+
message: "Name is required for Inbound Endpoints",
|
|
205
|
+
},
|
|
206
|
+
],
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
property: "dnsResolverId",
|
|
210
|
+
rules: [
|
|
211
|
+
{
|
|
212
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
213
|
+
message: "DNS Resolver ID is required for Inbound Endpoints",
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
property: "subnetId",
|
|
219
|
+
rules: [
|
|
220
|
+
{
|
|
221
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
222
|
+
message: "Subnet ID is required for Inbound Endpoints",
|
|
223
|
+
},
|
|
224
|
+
],
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
};
|
|
228
|
+
// =============================================================================
|
|
229
|
+
// VERSION CONFIGURATIONS
|
|
230
|
+
// =============================================================================
|
|
231
|
+
/**
|
|
232
|
+
* Version configuration for DNS Resolver Inbound Endpoint 2022-07-01
|
|
233
|
+
*/
|
|
234
|
+
exports.DNS_RESOLVER_INBOUND_ENDPOINT_VERSION_2022_07_01 = {
|
|
235
|
+
version: "2022-07-01",
|
|
236
|
+
schema: exports.DNS_RESOLVER_INBOUND_ENDPOINT_SCHEMA_2022_07_01,
|
|
237
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
238
|
+
releaseDate: "2022-07-01",
|
|
239
|
+
deprecationDate: undefined,
|
|
240
|
+
sunsetDate: undefined,
|
|
241
|
+
breakingChanges: [],
|
|
242
|
+
migrationGuide: "/docs/dns-resolver-inbound-endpoint/migration-2022-07-01",
|
|
243
|
+
changeLog: [
|
|
244
|
+
{
|
|
245
|
+
changeType: "added",
|
|
246
|
+
description: "Stable release of DNS Resolver Inbound Endpoint API with support for external DNS queries to Azure-hosted zones",
|
|
247
|
+
breaking: false,
|
|
248
|
+
},
|
|
249
|
+
],
|
|
250
|
+
};
|
|
251
|
+
/**
|
|
252
|
+
* All supported DNS Resolver Inbound Endpoint versions for registration
|
|
253
|
+
*/
|
|
254
|
+
exports.ALL_DNS_RESOLVER_INBOUND_ENDPOINT_VERSIONS = [
|
|
255
|
+
exports.DNS_RESOLVER_INBOUND_ENDPOINT_VERSION_2022_07_01,
|
|
256
|
+
];
|
|
257
|
+
/**
|
|
258
|
+
* Resource type constant
|
|
259
|
+
*/
|
|
260
|
+
exports.DNS_RESOLVER_INBOUND_ENDPOINT_TYPE = "Microsoft.Network/dnsResolvers/inboundEndpoints";
|
|
261
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5ib3VuZC1lbmRwb2ludC1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLWRuc3Jlc29sdmVyL2xpYi9pbmJvdW5kLWVuZHBvaW50LXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBRUgsMkdBTzRFO0FBRTVFLGdGQUFnRjtBQUNoRiw4QkFBOEI7QUFDOUIsZ0ZBQWdGO0FBRWhGOztHQUVHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBMEM7SUFDL0QsUUFBUSxFQUFFO1FBQ1IsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCx5R0FBeUc7UUFDM0csVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSw0Q0FBNEM7YUFDdEQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFlBQVksRUFBRSxFQUFFO1FBQ2hCLFdBQVcsRUFDVCxzR0FBc0c7UUFDeEcsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFVBQVU7Z0JBQ3ZDLEtBQUssRUFBRSxpQ0FBWSxDQUFDLE1BQU07Z0JBQzFCLE9BQU8sRUFBRSxvREFBb0Q7YUFDOUQ7U0FDRjtLQUNGO0lBQ0QsSUFBSSxFQUFFO1FBQ0osUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFDVCwwRUFBMEU7UUFDNUUsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxtQ0FBbUM7YUFDN0M7WUFDRDtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsYUFB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O1lBQ3BCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLDZDQUE2QztpQkFDdkQ7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLGdEQUFnRCxHQUFrQjtJQUM3RSxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUsdURBQStDO0lBQ3ZELFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSwwREFBMEQ7SUFDMUUsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsT0FBTztZQUNuQixXQUFXLEVBQ1QsaUhBQWlIO1lBQ25ILFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLDBDQUEwQyxHQUFvQjtJQUN6RSx3REFBZ0Q7Q0FDakQsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxrQ0FBa0MsR0FDN0MsaURBQWlELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludHMgYWNyb3NzIGFsbCBzdXBwb3J0ZWQgdmVyc2lvbnNcbiAqXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyB0aGUgY29tcGxldGUgQVBJIHNjaGVtYXMgZm9yIE1pY3Jvc29mdC5OZXR3b3JrL2Ruc1Jlc29sdmVycy9pbmJvdW5kRW5kcG9pbnRzXG4gKiBhY3Jvc3MgYWxsIHN1cHBvcnRlZCBBUEkgdmVyc2lvbnMuIFRoZSBzY2hlbWFzIGFyZSB1c2VkIGJ5IHRoZSBBemFwaVJlc291cmNlXG4gKiBmcmFtZXdvcmsgZm9yIHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBhbmQgdmVyc2lvbiBtYW5hZ2VtZW50LlxuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludCB2ZXJzaW9uc1xuICovXG5jb25zdCBDT01NT05fUFJPUEVSVElFUzogeyBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb24gfSA9IHtcbiAgbG9jYXRpb246IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIEF6dXJlIHJlZ2lvbiB3aGVyZSB0aGUgSW5ib3VuZCBFbmRwb2ludCB3aWxsIGJlIGNyZWF0ZWQuIE11c3QgbWF0Y2ggdGhlIHBhcmVudCBETlMgUmVzb2x2ZXIgcmVnaW9uLlwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJMb2NhdGlvbiBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgdGFnczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBkZWZhdWx0VmFsdWU6IHt9LFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBIGRpY3Rpb25hcnkgb2YgdGFncyB0byBhcHBseSB0byB0aGUgSW5ib3VuZCBFbmRwb2ludCBmb3Igb3JnYW5pemF0aW9uYWwsIGJpbGxpbmcsIG9yIG90aGVyIHB1cnBvc2VzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuT0JKRUNULFxuICAgICAgICBtZXNzYWdlOiBcIlRhZ3MgbXVzdCBiZSBhbiBvYmplY3Qgd2l0aCBzdHJpbmcga2V5LXZhbHVlIHBhaXJzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIG5hbWU6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIG5hbWUgb2YgdGhlIEluYm91bmQgRW5kcG9pbnQuIE11c3QgYmUgdW5pcXVlIHdpdGhpbiB0aGUgRE5TIFJlc29sdmVyXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIkluYm91bmQgRW5kcG9pbnQgbmFtZSBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTogXCJeW2EtekEtWjAtOV0oW2EtekEtWjAtOS1dKlthLXpBLVowLTldKT8kXCIsXG4gICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgXCJJbmJvdW5kIEVuZHBvaW50IG5hbWUgbXVzdCBzdGFydCBhbmQgZW5kIHdpdGggYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgYW5kIGNhbiBjb250YWluIGh5cGhlbnNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVkFMVUVfUkFOR0UsXG4gICAgICAgIHZhbHVlOiB7IG1pbkxlbmd0aDogMSwgbWF4TGVuZ3RoOiA4MCB9LFxuICAgICAgICBtZXNzYWdlOiBcIkluYm91bmQgRW5kcG9pbnQgbmFtZSBtdXN0IGJlIGJldHdlZW4gMSBhbmQgODAgY2hhcmFjdGVyc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBkbnNSZXNvbHZlcklkOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIHJlc291cmNlIElEIG9mIHRoZSBwYXJlbnQgRE5TIFJlc29sdmVyXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIkROUyBSZXNvbHZlciBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5QQVRURVJOX01BVENILFxuICAgICAgICB2YWx1ZTpcbiAgICAgICAgICBcIl4vc3Vic2NyaXB0aW9ucy9bXi9dKy9yZXNvdXJjZUdyb3Vwcy9bXi9dKy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvZG5zUmVzb2x2ZXJzL1teL10rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIkROUyBSZXNvbHZlciBJRCBtdXN0IGJlIGEgdmFsaWQgcmVzb3VyY2UgSURcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgc3VibmV0SWQ6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIHJlc291cmNlIElEIG9mIHRoZSBzdWJuZXQgd2hlcmUgdGhlIEluYm91bmQgRW5kcG9pbnQgd2lsbCBiZSBkZXBsb3llZC4gTXVzdCBiZSBhIGRlZGljYXRlZCBzdWJuZXQgYmV0d2VlbiAvMjggYW5kIC8yNCB3aXRoIGRlbGVnYXRpb24gdG8gTWljcm9zb2Z0Lk5ldHdvcmsvZG5zUmVzb2x2ZXJzXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICBtZXNzYWdlOiBcIlN1Ym5ldCBJRCBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUEFUVEVSTl9NQVRDSCxcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgXCJeL3N1YnNjcmlwdGlvbnMvW14vXSsvcmVzb3VyY2VHcm91cHMvW14vXSsvcHJvdmlkZXJzL01pY3Jvc29mdC5OZXR3b3JrL3ZpcnR1YWxOZXR3b3Jrcy9bXi9dKy9zdWJuZXRzL1teL10rJFwiLFxuICAgICAgICBtZXNzYWdlOiBcIlN1Ym5ldCBJRCBtdXN0IGJlIGEgdmFsaWQgc3VibmV0IHJlc291cmNlIElEXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHByaXZhdGVJcEFkZHJlc3M6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246XG4gICAgICBcIlRoZSBwcml2YXRlIElQIGFkZHJlc3MgZm9yIEROUyBxdWVyaWVzLiBJZiBub3Qgc3BlY2lmaWVkLCBhbiBJUCB3aWxsIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSBmcm9tIHRoZSBzdWJuZXRcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuVFlQRV9DSEVDSyxcbiAgICAgICAgdmFsdWU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgICAgIG1lc3NhZ2U6IFwiUHJpdmF0ZUlwQWRkcmVzcyBtdXN0IGJlIGEgc3RyaW5nXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIHByaXZhdGVJcEFsbG9jYXRpb25NZXRob2Q6IHtcbiAgICBkYXRhVHlwZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICByZXF1aXJlZDogZmFsc2UsXG4gICAgZGVmYXVsdFZhbHVlOiBcIkR5bmFtaWNcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiVGhlIElQIGFsbG9jYXRpb24gbWV0aG9kLiBQb3NzaWJsZSB2YWx1ZXM6ICdTdGF0aWMnIG9yICdEeW5hbWljJ1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLlNUUklORyxcbiAgICAgICAgbWVzc2FnZTogXCJQcml2YXRlSXBBbGxvY2F0aW9uTWV0aG9kIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaWdub3JlQ2hhbmdlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkFycmF5IG9mIHByb3BlcnR5IG5hbWVzIHRvIGlnbm9yZSBkdXJpbmcgdXBkYXRlc1wiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklnbm9yZUNoYW5nZXMgbXVzdCBiZSBhbiBhcnJheSBvZiBzdHJpbmdzXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUkVBRC1PTkxZIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFJlYWQtb25seSBwcm9wZXJ0aWVzIHRoYXQgYXJlIHBvcHVsYXRlZCBieSBBenVyZSBhZnRlciBjcmVhdGlvblxuICogVGhlc2UgcHJvcGVydGllcyBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSByZXF1ZXN0IGJvZHlcbiAqL1xuY29uc3QgUkVBRF9PTkxZX1BST1BFUlRJRVM6IHsgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uIH0gPSB7XG4gIHByb3Zpc2lvbmluZ1N0YXRlOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBJbmJvdW5kIEVuZHBvaW50IHJlc291cmNlIChyZWFkLW9ubHkpXCIsXG4gICAgdmFsaWRhdGlvbjogW1xuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlRZUEVfQ0hFQ0ssXG4gICAgICAgIHZhbHVlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgICAgICBtZXNzYWdlOiBcIlByb3Zpc2lvbmluZ1N0YXRlIG11c3QgYmUgYSBzdHJpbmdcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgfSxcbiAgaXBDb25maWd1cmF0aW9uczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJUaGUgSVAgY29uZmlndXJhdGlvbiBkZXRhaWxzIGluY2x1ZGluZyBwcml2YXRlIElQIGFkZHJlc3MgYW5kIHN1Ym5ldCAocmVhZC1vbmx5KVwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5UWVBFX0NIRUNLLFxuICAgICAgICB2YWx1ZTogUHJvcGVydHlUeXBlLkFSUkFZLFxuICAgICAgICBtZXNzYWdlOiBcIklwQ29uZmlndXJhdGlvbnMgbXVzdCBiZSBhbiBhcnJheVwiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04tU1BFQ0lGSUMgU0NIRU1BU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBBUEkgU2NoZW1hIGZvciBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludCB2ZXJzaW9uIDIwMjItMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEROU19SRVNPTFZFUl9JTkJPVU5EX0VORFBPSU5UX1NDSEVNQV8yMDIyXzA3XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay9kbnNSZXNvbHZlcnMvaW5ib3VuZEVuZHBvaW50c1wiLFxuICB2ZXJzaW9uOiBcIjIwMjItMDctMDFcIixcbiAgcHJvcGVydGllczoge1xuICAgIC4uLkNPTU1PTl9QUk9QRVJUSUVTLFxuICAgIC4uLlJFQURfT05MWV9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibG9jYXRpb25cIiwgXCJuYW1lXCIsIFwiZG5zUmVzb2x2ZXJJZFwiLCBcInN1Ym5ldElkXCJdLFxuICBvcHRpb25hbDogW1xuICAgIFwidGFnc1wiLFxuICAgIFwicHJpdmF0ZUlwQWRkcmVzc1wiLFxuICAgIFwicHJpdmF0ZUlwQWxsb2NhdGlvbk1ldGhvZFwiLFxuICAgIFwiaWdub3JlQ2hhbmdlc1wiLFxuICBdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcImxvY2F0aW9uXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIkxvY2F0aW9uIGlzIHJlcXVpcmVkIGZvciBJbmJvdW5kIEVuZHBvaW50c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiTmFtZSBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJkbnNSZXNvbHZlcklkXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIkROUyBSZXNvbHZlciBJRCBpcyByZXF1aXJlZCBmb3IgSW5ib3VuZCBFbmRwb2ludHNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJzdWJuZXRJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJTdWJuZXQgSUQgaXMgcmVxdWlyZWQgZm9yIEluYm91bmQgRW5kcG9pbnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTiBDT05GSUdVUkFUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBWZXJzaW9uIGNvbmZpZ3VyYXRpb24gZm9yIEROUyBSZXNvbHZlciBJbmJvdW5kIEVuZHBvaW50IDIwMjItMDctMDFcbiAqL1xuZXhwb3J0IGNvbnN0IEROU19SRVNPTFZFUl9JTkJPVU5EX0VORFBPSU5UX1ZFUlNJT05fMjAyMl8wN18wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDIyLTA3LTAxXCIsXG4gIHNjaGVtYTogRE5TX1JFU09MVkVSX0lOQk9VTkRfRU5EUE9JTlRfU0NIRU1BXzIwMjJfMDdfMDEsXG4gIHN1cHBvcnRMZXZlbDogVmVyc2lvblN1cHBvcnRMZXZlbC5BQ1RJVkUsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjItMDctMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvZG5zLXJlc29sdmVyLWluYm91bmQtZW5kcG9pbnQvbWlncmF0aW9uLTIwMjItMDctMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiU3RhYmxlIHJlbGVhc2Ugb2YgRE5TIFJlc29sdmVyIEluYm91bmQgRW5kcG9pbnQgQVBJIHdpdGggc3VwcG9ydCBmb3IgZXh0ZXJuYWwgRE5TIHF1ZXJpZXMgdG8gQXp1cmUtaG9zdGVkIHpvbmVzXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBETlMgUmVzb2x2ZXIgSW5ib3VuZCBFbmRwb2ludCB2ZXJzaW9ucyBmb3IgcmVnaXN0cmF0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBBTExfRE5TX1JFU09MVkVSX0lOQk9VTkRfRU5EUE9JTlRfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgRE5TX1JFU09MVkVSX0lOQk9VTkRfRU5EUE9JTlRfVkVSU0lPTl8yMDIyXzA3XzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBETlNfUkVTT0xWRVJfSU5CT1VORF9FTkRQT0lOVF9UWVBFID1cbiAgXCJNaWNyb3NvZnQuTmV0d29yay9kbnNSZXNvbHZlcnMvaW5ib3VuZEVuZHBvaW50c1wiO1xuIl19
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure DNS Resolver Inbound Endpoint implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for DNS Resolver Inbound Endpoints.
|
|
5
|
+
* Inbound Endpoints allow external DNS servers to query Azure-hosted DNS zones
|
|
6
|
+
* through the DNS Resolver.
|
|
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
|
+
* - Static or dynamic IP allocation
|
|
18
|
+
* - Dedicated subnet requirement with delegation
|
|
19
|
+
*/
|
|
20
|
+
import * as cdktf from "cdktf";
|
|
21
|
+
import { Construct } from "constructs";
|
|
22
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
23
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
24
|
+
/**
|
|
25
|
+
* Properties for the Azure DNS Resolver Inbound Endpoint
|
|
26
|
+
*
|
|
27
|
+
* Extends AzapiResourceProps with Inbound Endpoint specific properties
|
|
28
|
+
*/
|
|
29
|
+
export interface DnsResolverInboundEndpointProps extends AzapiResourceProps {
|
|
30
|
+
/**
|
|
31
|
+
* Resource ID of the parent DNS Resolver
|
|
32
|
+
* @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/dnsResolvers/my-resolver"
|
|
33
|
+
*/
|
|
34
|
+
readonly dnsResolverId: string;
|
|
35
|
+
/**
|
|
36
|
+
* Resource ID of the subnet where the Inbound Endpoint will be deployed
|
|
37
|
+
* Must be a dedicated subnet between /28 and /24 with delegation to Microsoft.Network/dnsResolvers
|
|
38
|
+
* @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnet/subnets/inbound-subnet"
|
|
39
|
+
*/
|
|
40
|
+
readonly subnetId: string;
|
|
41
|
+
/**
|
|
42
|
+
* The private IP address for DNS queries
|
|
43
|
+
* If not specified, an IP will be allocated dynamically from the subnet
|
|
44
|
+
* @example "10.0.1.4"
|
|
45
|
+
*/
|
|
46
|
+
readonly privateIpAddress?: string;
|
|
47
|
+
/**
|
|
48
|
+
* The IP allocation method
|
|
49
|
+
* - "Static": Use the specified privateIpAddress
|
|
50
|
+
* - "Dynamic": Automatically allocate an IP from the subnet
|
|
51
|
+
* @defaultValue "Dynamic"
|
|
52
|
+
*/
|
|
53
|
+
readonly privateIpAllocationMethod?: string;
|
|
54
|
+
/**
|
|
55
|
+
* The lifecycle rules to ignore changes
|
|
56
|
+
* @example ["tags"]
|
|
57
|
+
*/
|
|
58
|
+
readonly ignoreChanges?: string[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The resource body interface for Azure Inbound Endpoint API calls
|
|
62
|
+
* This matches the Azure REST API schema
|
|
63
|
+
*/
|
|
64
|
+
export interface DnsResolverInboundEndpointBody {
|
|
65
|
+
readonly location: string;
|
|
66
|
+
readonly tags?: {
|
|
67
|
+
[key: string]: string;
|
|
68
|
+
};
|
|
69
|
+
readonly properties?: any;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Azure DNS Resolver Inbound Endpoint implementation
|
|
73
|
+
*
|
|
74
|
+
* Inbound Endpoints allow external DNS servers (such as on-premises DNS servers)
|
|
75
|
+
* to query Azure-hosted DNS zones through the DNS Resolver. This enables hybrid
|
|
76
|
+
* DNS scenarios where external networks need to resolve Azure private DNS zones.
|
|
77
|
+
*
|
|
78
|
+
* Requirements:
|
|
79
|
+
* - Dedicated subnet between /28 and /24
|
|
80
|
+
* - Subnet must be delegated to Microsoft.Network/dnsResolvers
|
|
81
|
+
* - Must be in the same VNet as the parent DNS Resolver
|
|
82
|
+
* - Each DNS Resolver can have multiple inbound endpoints
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* // Basic inbound endpoint with dynamic IP:
|
|
86
|
+
* const inboundEndpoint = new DnsResolverInboundEndpoint(this, "inbound-endpoint", {
|
|
87
|
+
* name: "my-inbound-endpoint",
|
|
88
|
+
* location: "eastus",
|
|
89
|
+
* dnsResolverId: dnsResolver.id,
|
|
90
|
+
* subnetId: inboundSubnet.id
|
|
91
|
+
* });
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* // Inbound endpoint with static IP address:
|
|
95
|
+
* const inboundEndpoint = new DnsResolverInboundEndpoint(this, "inbound-endpoint", {
|
|
96
|
+
* name: "my-inbound-endpoint",
|
|
97
|
+
* location: "eastus",
|
|
98
|
+
* dnsResolverId: dnsResolver.id,
|
|
99
|
+
* subnetId: inboundSubnet.id,
|
|
100
|
+
* privateIpAddress: "10.0.1.4",
|
|
101
|
+
* privateIpAllocationMethod: "Static"
|
|
102
|
+
* });
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* // Inbound endpoint with tags and version pinning:
|
|
106
|
+
* const inboundEndpoint = new DnsResolverInboundEndpoint(this, "inbound-endpoint", {
|
|
107
|
+
* name: "my-inbound-endpoint",
|
|
108
|
+
* location: "eastus",
|
|
109
|
+
* dnsResolverId: dnsResolver.id,
|
|
110
|
+
* subnetId: inboundSubnet.id,
|
|
111
|
+
* tags: {
|
|
112
|
+
* environment: "production",
|
|
113
|
+
* purpose: "hybrid-dns"
|
|
114
|
+
* },
|
|
115
|
+
* apiVersion: "2022-07-01"
|
|
116
|
+
* });
|
|
117
|
+
*
|
|
118
|
+
* @stability stable
|
|
119
|
+
*/
|
|
120
|
+
export declare class DnsResolverInboundEndpoint extends AzapiResource {
|
|
121
|
+
/**
|
|
122
|
+
* The input properties for this Inbound Endpoint instance
|
|
123
|
+
*/
|
|
124
|
+
readonly props: DnsResolverInboundEndpointProps;
|
|
125
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
126
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
127
|
+
readonly locationOutput: cdktf.TerraformOutput;
|
|
128
|
+
readonly tagsOutput: cdktf.TerraformOutput;
|
|
129
|
+
readonly provisioningStateOutput: cdktf.TerraformOutput;
|
|
130
|
+
/**
|
|
131
|
+
* Creates a new Azure DNS Resolver Inbound Endpoint using the AzapiResource framework
|
|
132
|
+
*
|
|
133
|
+
* @param scope - The scope in which to define this construct
|
|
134
|
+
* @param id - The unique identifier for this instance
|
|
135
|
+
* @param props - Configuration properties for the Inbound Endpoint
|
|
136
|
+
*/
|
|
137
|
+
constructor(scope: Construct, id: string, props: DnsResolverInboundEndpointProps);
|
|
138
|
+
/**
|
|
139
|
+
* Resolves the parent resource ID for the Inbound Endpoint
|
|
140
|
+
* Inbound Endpoints are child resources of DNS Resolvers
|
|
141
|
+
*/
|
|
142
|
+
protected resolveParentId(props: any): string;
|
|
143
|
+
/**
|
|
144
|
+
* Gets the default API version to use when no explicit version is specified
|
|
145
|
+
*/
|
|
146
|
+
protected defaultVersion(): string;
|
|
147
|
+
/**
|
|
148
|
+
* Gets the Azure resource type for Inbound Endpoints
|
|
149
|
+
*/
|
|
150
|
+
protected resourceType(): string;
|
|
151
|
+
/**
|
|
152
|
+
* Gets the API schema for the resolved version
|
|
153
|
+
*/
|
|
154
|
+
protected apiSchema(): ApiSchema;
|
|
155
|
+
/**
|
|
156
|
+
* Indicates that location is required for Inbound Endpoints
|
|
157
|
+
*/
|
|
158
|
+
protected requiresLocation(): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Creates the resource body for the Azure API call
|
|
161
|
+
*/
|
|
162
|
+
protected createResourceBody(props: any): any;
|
|
163
|
+
/**
|
|
164
|
+
* Get the subnet ID
|
|
165
|
+
* Returns the input value as Azure API doesn't return nested subnet structure reliably
|
|
166
|
+
*/
|
|
167
|
+
get subnetId(): string;
|
|
168
|
+
/**
|
|
169
|
+
* Get the private IP address
|
|
170
|
+
* Returns the input value for static IPs, or empty string if dynamic
|
|
171
|
+
*/
|
|
172
|
+
get privateIpAddress(): string;
|
|
173
|
+
/**
|
|
174
|
+
* Get the provisioning state of the Inbound Endpoint
|
|
175
|
+
*/
|
|
176
|
+
get provisioningState(): string;
|
|
177
|
+
/**
|
|
178
|
+
* Add a tag to the Inbound Endpoint
|
|
179
|
+
*/
|
|
180
|
+
addTag(key: string, value: string): void;
|
|
181
|
+
/**
|
|
182
|
+
* Remove a tag from the Inbound Endpoint
|
|
183
|
+
*/
|
|
184
|
+
removeTag(key: string): void;
|
|
185
|
+
/**
|
|
186
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
187
|
+
*/
|
|
188
|
+
private _applyIgnoreChanges;
|
|
189
|
+
}
|