@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,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Virtual Network Manager Security Admin Configurations across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Network/networkManagers/securityAdminConfigurations
|
|
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.SECURITY_ADMIN_CONFIGURATION_TYPE = exports.ALL_SECURITY_ADMIN_CONFIGURATION_VERSIONS = exports.SECURITY_ADMIN_CONFIGURATION_VERSION_2023_11_01 = exports.SECURITY_ADMIN_CONFIGURATION_VERSION_2024_05_01 = exports.SECURITY_ADMIN_CONFIGURATION_SCHEMA_2023_11_01 = exports.SECURITY_ADMIN_CONFIGURATION_SCHEMA_2024_05_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 Security Admin Configuration versions
|
|
17
|
+
*/
|
|
18
|
+
const COMMON_PROPERTIES = {
|
|
19
|
+
name: {
|
|
20
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
21
|
+
required: true,
|
|
22
|
+
description: "Name of the security admin configuration",
|
|
23
|
+
validation: [
|
|
24
|
+
{
|
|
25
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
26
|
+
message: "Security admin configuration name is required",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
30
|
+
value: "^[a-zA-Z0-9][a-zA-Z0-9._-]{0,62}[a-zA-Z0-9_]$",
|
|
31
|
+
message: "Security admin configuration name must be 2-64 chars, alphanumeric, periods, underscores, hyphens",
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
},
|
|
35
|
+
networkManagerId: {
|
|
36
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
37
|
+
required: true,
|
|
38
|
+
description: "Resource ID of the parent Network Manager",
|
|
39
|
+
validation: [
|
|
40
|
+
{
|
|
41
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
42
|
+
message: "Network Manager ID is required",
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
description: {
|
|
47
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
48
|
+
required: false,
|
|
49
|
+
description: "Description of the security admin configuration",
|
|
50
|
+
},
|
|
51
|
+
applyOnNetworkIntentPolicyBasedServices: {
|
|
52
|
+
dataType: version_interfaces_1.PropertyType.ARRAY,
|
|
53
|
+
required: false,
|
|
54
|
+
description: "Services to apply the security admin configuration on",
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
// =============================================================================
|
|
58
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
59
|
+
// =============================================================================
|
|
60
|
+
/**
|
|
61
|
+
* API Schema for Security Admin Configuration version 2024-05-01
|
|
62
|
+
*/
|
|
63
|
+
exports.SECURITY_ADMIN_CONFIGURATION_SCHEMA_2024_05_01 = {
|
|
64
|
+
resourceType: "Microsoft.Network/networkManagers/securityAdminConfigurations",
|
|
65
|
+
version: "2024-05-01",
|
|
66
|
+
properties: {
|
|
67
|
+
...COMMON_PROPERTIES,
|
|
68
|
+
},
|
|
69
|
+
required: ["name", "networkManagerId"],
|
|
70
|
+
optional: ["description", "applyOnNetworkIntentPolicyBasedServices"],
|
|
71
|
+
deprecated: [],
|
|
72
|
+
transformationRules: {},
|
|
73
|
+
validationRules: [
|
|
74
|
+
{
|
|
75
|
+
property: "name",
|
|
76
|
+
rules: [
|
|
77
|
+
{
|
|
78
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
79
|
+
message: "Security admin configuration name is required",
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
property: "networkManagerId",
|
|
85
|
+
rules: [
|
|
86
|
+
{
|
|
87
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
88
|
+
message: "Network Manager ID is required",
|
|
89
|
+
},
|
|
90
|
+
],
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* API Schema for Security Admin Configuration version 2023-11-01
|
|
96
|
+
*/
|
|
97
|
+
exports.SECURITY_ADMIN_CONFIGURATION_SCHEMA_2023_11_01 = {
|
|
98
|
+
resourceType: "Microsoft.Network/networkManagers/securityAdminConfigurations",
|
|
99
|
+
version: "2023-11-01",
|
|
100
|
+
properties: {
|
|
101
|
+
...COMMON_PROPERTIES,
|
|
102
|
+
},
|
|
103
|
+
required: ["name", "networkManagerId"],
|
|
104
|
+
optional: ["description", "applyOnNetworkIntentPolicyBasedServices"],
|
|
105
|
+
deprecated: [],
|
|
106
|
+
transformationRules: {},
|
|
107
|
+
validationRules: [
|
|
108
|
+
{
|
|
109
|
+
property: "name",
|
|
110
|
+
rules: [
|
|
111
|
+
{
|
|
112
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
113
|
+
message: "Security admin configuration name is required",
|
|
114
|
+
},
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
property: "networkManagerId",
|
|
119
|
+
rules: [
|
|
120
|
+
{
|
|
121
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
122
|
+
message: "Network Manager ID is required",
|
|
123
|
+
},
|
|
124
|
+
],
|
|
125
|
+
},
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
// =============================================================================
|
|
129
|
+
// VERSION CONFIGURATIONS
|
|
130
|
+
// =============================================================================
|
|
131
|
+
/**
|
|
132
|
+
* Version configuration for Security Admin Configuration 2024-05-01
|
|
133
|
+
*/
|
|
134
|
+
exports.SECURITY_ADMIN_CONFIGURATION_VERSION_2024_05_01 = {
|
|
135
|
+
version: "2024-05-01",
|
|
136
|
+
schema: exports.SECURITY_ADMIN_CONFIGURATION_SCHEMA_2024_05_01,
|
|
137
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
138
|
+
releaseDate: "2024-05-01",
|
|
139
|
+
deprecationDate: undefined,
|
|
140
|
+
sunsetDate: undefined,
|
|
141
|
+
breakingChanges: [],
|
|
142
|
+
migrationGuide: "/docs/virtual-network-manager/migration-2024-05-01",
|
|
143
|
+
changeLog: [
|
|
144
|
+
{
|
|
145
|
+
changeType: "added",
|
|
146
|
+
description: "Latest stable release with full security admin configuration support",
|
|
147
|
+
breaking: false,
|
|
148
|
+
},
|
|
149
|
+
],
|
|
150
|
+
};
|
|
151
|
+
/**
|
|
152
|
+
* Version configuration for Security Admin Configuration 2023-11-01
|
|
153
|
+
*/
|
|
154
|
+
exports.SECURITY_ADMIN_CONFIGURATION_VERSION_2023_11_01 = {
|
|
155
|
+
version: "2023-11-01",
|
|
156
|
+
schema: exports.SECURITY_ADMIN_CONFIGURATION_SCHEMA_2023_11_01,
|
|
157
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.MAINTENANCE,
|
|
158
|
+
releaseDate: "2023-11-01",
|
|
159
|
+
deprecationDate: undefined,
|
|
160
|
+
sunsetDate: undefined,
|
|
161
|
+
breakingChanges: [],
|
|
162
|
+
migrationGuide: "/docs/virtual-network-manager/migration-2023-11-01",
|
|
163
|
+
changeLog: [
|
|
164
|
+
{
|
|
165
|
+
changeType: "added",
|
|
166
|
+
description: "Stable release with core security admin configuration features",
|
|
167
|
+
breaking: false,
|
|
168
|
+
},
|
|
169
|
+
],
|
|
170
|
+
};
|
|
171
|
+
/**
|
|
172
|
+
* All supported Security Admin Configuration versions for registration
|
|
173
|
+
*/
|
|
174
|
+
exports.ALL_SECURITY_ADMIN_CONFIGURATION_VERSIONS = [
|
|
175
|
+
exports.SECURITY_ADMIN_CONFIGURATION_VERSION_2024_05_01,
|
|
176
|
+
exports.SECURITY_ADMIN_CONFIGURATION_VERSION_2023_11_01,
|
|
177
|
+
];
|
|
178
|
+
/**
|
|
179
|
+
* Resource type constant
|
|
180
|
+
*/
|
|
181
|
+
exports.SECURITY_ADMIN_CONFIGURATION_TYPE = "Microsoft.Network/networkManagers/securityAdminConfigurations";
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktYWRtaW4tY29uZmlndXJhdGlvbi1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F6dXJlLXZpcnR1YWxuZXR3b3JrbWFuYWdlci9saWIvc2VjdXJpdHktYWRtaW4tY29uZmlndXJhdGlvbi1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7O0dBTUc7OztBQUVILDJHQU80RTtBQUU1RSxnRkFBZ0Y7QUFDaEYsOEJBQThCO0FBQzlCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNILE1BQU0saUJBQWlCLEdBQTBDO0lBQy9ELElBQUksRUFBRTtRQUNKLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQUUsMENBQTBDO1FBQ3ZELFVBQVUsRUFBRTtZQUNWO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO2dCQUNyQyxPQUFPLEVBQUUsK0NBQStDO2FBQ3pEO1lBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLGFBQWE7Z0JBQzFDLEtBQUssRUFBRSwrQ0FBK0M7Z0JBQ3RELE9BQU8sRUFDTCxtR0FBbUc7YUFDdEc7U0FDRjtLQUNGO0lBQ0QsZ0JBQWdCLEVBQUU7UUFDaEIsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsSUFBSTtRQUNkLFdBQVcsRUFBRSwyQ0FBMkM7UUFDeEQsVUFBVSxFQUFFO1lBQ1Y7Z0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7Z0JBQ3JDLE9BQU8sRUFBRSxnQ0FBZ0M7YUFDMUM7U0FDRjtLQUNGO0lBQ0QsV0FBVyxFQUFFO1FBQ1gsUUFBUSxFQUFFLGlDQUFZLENBQUMsTUFBTTtRQUM3QixRQUFRLEVBQUUsS0FBSztRQUNmLFdBQVcsRUFBRSxpREFBaUQ7S0FDL0Q7SUFDRCx1Q0FBdUMsRUFBRTtRQUN2QyxRQUFRLEVBQUUsaUNBQVksQ0FBQyxLQUFLO1FBQzVCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsV0FBVyxFQUFFLHVEQUF1RDtLQUNyRTtDQUNGLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYsMkJBQTJCO0FBQzNCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNVLFFBQUEsOENBQThDLEdBQWM7SUFDdkUsWUFBWSxFQUFFLCtEQUErRDtJQUM3RSxPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUU7UUFDVixHQUFHLGlCQUFpQjtLQUNyQjtJQUNELFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztJQUN0QyxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQUUseUNBQXlDLENBQUM7SUFDcEUsVUFBVSxFQUFFLEVBQUU7SUFDZCxtQkFBbUIsRUFBRSxFQUFFO0lBQ3ZCLGVBQWUsRUFBRTtRQUNmO1lBQ0UsUUFBUSxFQUFFLE1BQU07WUFDaEIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO29CQUNyQyxPQUFPLEVBQUUsK0NBQStDO2lCQUN6RDthQUNGO1NBQ0Y7UUFDRDtZQUNFLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO29CQUNyQyxPQUFPLEVBQUUsZ0NBQWdDO2lCQUMxQzthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsOENBQThDLEdBQWM7SUFDdkUsWUFBWSxFQUFFLCtEQUErRDtJQUM3RSxPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUU7UUFDVixHQUFHLGlCQUFpQjtLQUNyQjtJQUNELFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQztJQUN0QyxRQUFRLEVBQUUsQ0FBQyxhQUFhLEVBQUUseUNBQXlDLENBQUM7SUFDcEUsVUFBVSxFQUFFLEVBQUU7SUFDZCxtQkFBbUIsRUFBRSxFQUFFO0lBQ3ZCLGVBQWUsRUFBRTtRQUNmO1lBQ0UsUUFBUSxFQUFFLE1BQU07WUFDaEIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO29CQUNyQyxPQUFPLEVBQUUsK0NBQStDO2lCQUN6RDthQUNGO1NBQ0Y7UUFDRDtZQUNFLFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIsS0FBSyxFQUFFO2dCQUNMO29CQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxRQUFRO29CQUNyQyxPQUFPLEVBQUUsZ0NBQWdDO2lCQUMxQzthQUNGO1NBQ0Y7S0FDRjtDQUNGLENBQUM7QUFFRixnRkFBZ0Y7QUFDaEYseUJBQXlCO0FBQ3pCLGdGQUFnRjtBQUVoRjs7R0FFRztBQUNVLFFBQUEsK0NBQStDLEdBQWtCO0lBQzVFLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSxzREFBOEM7SUFDdEQsWUFBWSxFQUFFLHdDQUFtQixDQUFDLE1BQU07SUFDeEMsV0FBVyxFQUFFLFlBQVk7SUFDekIsZUFBZSxFQUFFLFNBQVM7SUFDMUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsY0FBYyxFQUFFLG9EQUFvRDtJQUNwRSxTQUFTLEVBQUU7UUFDVDtZQUNFLFVBQVUsRUFBRSxPQUFPO1lBQ25CLFdBQVcsRUFDVCxzRUFBc0U7WUFDeEUsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsK0NBQStDLEdBQWtCO0lBQzVFLE9BQU8sRUFBRSxZQUFZO0lBQ3JCLE1BQU0sRUFBRSxzREFBOEM7SUFDdEQsWUFBWSxFQUFFLHdDQUFtQixDQUFDLFdBQVc7SUFDN0MsV0FBVyxFQUFFLFlBQVk7SUFDekIsZUFBZSxFQUFFLFNBQVM7SUFDMUIsVUFBVSxFQUFFLFNBQVM7SUFDckIsZUFBZSxFQUFFLEVBQUU7SUFDbkIsY0FBYyxFQUFFLG9EQUFvRDtJQUNwRSxTQUFTLEVBQUU7UUFDVDtZQUNFLFVBQVUsRUFBRSxPQUFPO1lBQ25CLFdBQVcsRUFDVCxnRUFBZ0U7WUFDbEUsUUFBUSxFQUFFLEtBQUs7U0FDaEI7S0FDRjtDQUNGLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEseUNBQXlDLEdBQW9CO0lBQ3hFLHVEQUErQztJQUMvQyx1REFBK0M7Q0FDaEQsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FDNUMsK0RBQStELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFQSSBzY2hlbWFzIGZvciBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBTZWN1cml0eSBBZG1pbiBDb25maWd1cmF0aW9ucyBhY3Jvc3MgYWxsIHN1cHBvcnRlZCB2ZXJzaW9uc1xuICpcbiAqIFRoaXMgZmlsZSBkZWZpbmVzIHRoZSBjb21wbGV0ZSBBUEkgc2NoZW1hcyBmb3IgTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya01hbmFnZXJzL3NlY3VyaXR5QWRtaW5Db25maWd1cmF0aW9uc1xuICogYWNyb3NzIGFsbCBzdXBwb3J0ZWQgQVBJIHZlcnNpb25zLiBUaGUgc2NoZW1hcyBhcmUgdXNlZCBieSB0aGUgQXphcGlSZXNvdXJjZVxuICogZnJhbWV3b3JrIGZvciB2YWxpZGF0aW9uLCB0cmFuc2Zvcm1hdGlvbiwgYW5kIHZlcnNpb24gbWFuYWdlbWVudC5cbiAqL1xuXG5pbXBvcnQge1xuICBBcGlTY2hlbWEsXG4gIFByb3BlcnR5RGVmaW5pdGlvbixcbiAgUHJvcGVydHlUeXBlLFxuICBWYWxpZGF0aW9uUnVsZVR5cGUsXG4gIFZlcnNpb25Db25maWcsXG4gIFZlcnNpb25TdXBwb3J0TGV2ZWwsXG59IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTU1PTiBQUk9QRVJUWSBERUZJTklUSU9OU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDb21tb24gcHJvcGVydHkgZGVmaW5pdGlvbnMgc2hhcmVkIGFjcm9zcyBhbGwgU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvbiB2ZXJzaW9uc1xuICovXG5jb25zdCBDT01NT05fUFJPUEVSVElFUzogeyBba2V5OiBzdHJpbmddOiBQcm9wZXJ0eURlZmluaXRpb24gfSA9IHtcbiAgbmFtZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGhlIHNlY3VyaXR5IGFkbWluIGNvbmZpZ3VyYXRpb25cIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiU2VjdXJpdHkgYWRtaW4gY29uZmlndXJhdGlvbiBuYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aMC05XVthLXpBLVowLTkuXy1dezAsNjJ9W2EtekEtWjAtOV9dJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiU2VjdXJpdHkgYWRtaW4gY29uZmlndXJhdGlvbiBuYW1lIG11c3QgYmUgMi02NCBjaGFycywgYWxwaGFudW1lcmljLCBwZXJpb2RzLCB1bmRlcnNjb3JlcywgaHlwaGVuc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBuZXR3b3JrTWFuYWdlcklkOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgZGVzY3JpcHRpb246IFwiUmVzb3VyY2UgSUQgb2YgdGhlIHBhcmVudCBOZXR3b3JrIE1hbmFnZXJcIixcbiAgICB2YWxpZGF0aW9uOiBbXG4gICAgICB7XG4gICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgIG1lc3NhZ2U6IFwiTmV0d29yayBNYW5hZ2VyIElEIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIH0sXG4gIGRlc2NyaXB0aW9uOiB7XG4gICAgZGF0YVR5cGU6IFByb3BlcnR5VHlwZS5TVFJJTkcsXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIkRlc2NyaXB0aW9uIG9mIHRoZSBzZWN1cml0eSBhZG1pbiBjb25maWd1cmF0aW9uXCIsXG4gIH0sXG4gIGFwcGx5T25OZXR3b3JrSW50ZW50UG9saWN5QmFzZWRTZXJ2aWNlczoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuQVJSQVksXG4gICAgcmVxdWlyZWQ6IGZhbHNlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlNlcnZpY2VzIHRvIGFwcGx5IHRoZSBzZWN1cml0eSBhZG1pbiBjb25maWd1cmF0aW9uIG9uXCIsXG4gIH0sXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSU0lPTi1TUEVDSUZJQyBTQ0hFTUFTXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEFQSSBTY2hlbWEgZm9yIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb24gdmVyc2lvbiAyMDI0LTA1LTAxXG4gKi9cbmV4cG9ydCBjb25zdCBTRUNVUklUWV9BRE1JTl9DT05GSUdVUkFUSU9OX1NDSEVNQV8yMDI0XzA1XzAxOiBBcGlTY2hlbWEgPSB7XG4gIHJlc291cmNlVHlwZTogXCJNaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrTWFuYWdlcnMvc2VjdXJpdHlBZG1pbkNvbmZpZ3VyYXRpb25zXCIsXG4gIHZlcnNpb246IFwiMjAyNC0wNS0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX1BST1BFUlRJRVMsXG4gIH0sXG4gIHJlcXVpcmVkOiBbXCJuYW1lXCIsIFwibmV0d29ya01hbmFnZXJJZFwiXSxcbiAgb3B0aW9uYWw6IFtcImRlc2NyaXB0aW9uXCIsIFwiYXBwbHlPbk5ldHdvcmtJbnRlbnRQb2xpY3lCYXNlZFNlcnZpY2VzXCJdLFxuICBkZXByZWNhdGVkOiBbXSxcbiAgdHJhbnNmb3JtYXRpb25SdWxlczoge30sXG4gIHZhbGlkYXRpb25SdWxlczogW1xuICAgIHtcbiAgICAgIHByb3BlcnR5OiBcIm5hbWVcIixcbiAgICAgIHJ1bGVzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlJFUVVJUkVELFxuICAgICAgICAgIG1lc3NhZ2U6IFwiU2VjdXJpdHkgYWRtaW4gY29uZmlndXJhdGlvbiBuYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmV0d29ya01hbmFnZXJJZFwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOZXR3b3JrIE1hbmFnZXIgSUQgaXMgcmVxdWlyZWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvbiB2ZXJzaW9uIDIwMjMtMTEtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFNFQ1VSSVRZX0FETUlOX0NPTkZJR1VSQVRJT05fU0NIRU1BXzIwMjNfMTFfMDE6IEFwaVNjaGVtYSA9IHtcbiAgcmVzb3VyY2VUeXBlOiBcIk1pY3Jvc29mdC5OZXR3b3JrL25ldHdvcmtNYW5hZ2Vycy9zZWN1cml0eUFkbWluQ29uZmlndXJhdGlvbnNcIixcbiAgdmVyc2lvbjogXCIyMDIzLTExLTAxXCIsXG4gIHByb3BlcnRpZXM6IHtcbiAgICAuLi5DT01NT05fUFJPUEVSVElFUyxcbiAgfSxcbiAgcmVxdWlyZWQ6IFtcIm5hbWVcIiwgXCJuZXR3b3JrTWFuYWdlcklkXCJdLFxuICBvcHRpb25hbDogW1wiZGVzY3JpcHRpb25cIiwgXCJhcHBseU9uTmV0d29ya0ludGVudFBvbGljeUJhc2VkU2VydmljZXNcIl0sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJTZWN1cml0eSBhZG1pbiBjb25maWd1cmF0aW9uIG5hbWUgaXMgcmVxdWlyZWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm9wZXJ0eTogXCJuZXR3b3JrTWFuYWdlcklkXCIsXG4gICAgICBydWxlczogW1xuICAgICAgICB7XG4gICAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgICBtZXNzYWdlOiBcIk5ldHdvcmsgTWFuYWdlciBJRCBpcyByZXF1aXJlZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxufTtcblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFZFUlNJT04gQ09ORklHVVJBVElPTlNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBTZWN1cml0eSBBZG1pbiBDb25maWd1cmF0aW9uIDIwMjQtMDUtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFNFQ1VSSVRZX0FETUlOX0NPTkZJR1VSQVRJT05fVkVSU0lPTl8yMDI0XzA1XzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjQtMDUtMDFcIixcbiAgc2NoZW1hOiBTRUNVUklUWV9BRE1JTl9DT05GSUdVUkFUSU9OX1NDSEVNQV8yMDI0XzA1XzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDI0LTA1LTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL3ZpcnR1YWwtbmV0d29yay1tYW5hZ2VyL21pZ3JhdGlvbi0yMDI0LTA1LTAxXCIsXG4gIGNoYW5nZUxvZzogW1xuICAgIHtcbiAgICAgIGNoYW5nZVR5cGU6IFwiYWRkZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICBcIkxhdGVzdCBzdGFibGUgcmVsZWFzZSB3aXRoIGZ1bGwgc2VjdXJpdHkgYWRtaW4gY29uZmlndXJhdGlvbiBzdXBwb3J0XCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBTZWN1cml0eSBBZG1pbiBDb25maWd1cmF0aW9uIDIwMjMtMTEtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IFNFQ1VSSVRZX0FETUlOX0NPTkZJR1VSQVRJT05fVkVSU0lPTl8yMDIzXzExXzAxOiBWZXJzaW9uQ29uZmlnID0ge1xuICB2ZXJzaW9uOiBcIjIwMjMtMTEtMDFcIixcbiAgc2NoZW1hOiBTRUNVUklUWV9BRE1JTl9DT05GSUdVUkFUSU9OX1NDSEVNQV8yMDIzXzExXzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuTUFJTlRFTkFOQ0UsXG4gIHJlbGVhc2VEYXRlOiBcIjIwMjMtMTEtMDFcIixcbiAgZGVwcmVjYXRpb25EYXRlOiB1bmRlZmluZWQsXG4gIHN1bnNldERhdGU6IHVuZGVmaW5lZCxcbiAgYnJlYWtpbmdDaGFuZ2VzOiBbXSxcbiAgbWlncmF0aW9uR3VpZGU6IFwiL2RvY3MvdmlydHVhbC1uZXR3b3JrLW1hbmFnZXIvbWlncmF0aW9uLTIwMjMtMTEtMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJhZGRlZFwiLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgIFwiU3RhYmxlIHJlbGVhc2Ugd2l0aCBjb3JlIHNlY3VyaXR5IGFkbWluIGNvbmZpZ3VyYXRpb24gZmVhdHVyZXNcIixcbiAgICAgIGJyZWFraW5nOiBmYWxzZSxcbiAgICB9LFxuICBdLFxufTtcblxuLyoqXG4gKiBBbGwgc3VwcG9ydGVkIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb24gdmVyc2lvbnMgZm9yIHJlZ2lzdHJhdGlvblxuICovXG5leHBvcnQgY29uc3QgQUxMX1NFQ1VSSVRZX0FETUlOX0NPTkZJR1VSQVRJT05fVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgU0VDVVJJVFlfQURNSU5fQ09ORklHVVJBVElPTl9WRVJTSU9OXzIwMjRfMDVfMDEsXG4gIFNFQ1VSSVRZX0FETUlOX0NPTkZJR1VSQVRJT05fVkVSU0lPTl8yMDIzXzExXzAxLFxuXTtcblxuLyoqXG4gKiBSZXNvdXJjZSB0eXBlIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBjb25zdCBTRUNVUklUWV9BRE1JTl9DT05GSUdVUkFUSU9OX1RZUEUgPVxuICBcIk1pY3Jvc29mdC5OZXR3b3JrL25ldHdvcmtNYW5hZ2Vycy9zZWN1cml0eUFkbWluQ29uZmlndXJhdGlvbnNcIjtcbiJdfQ==
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Virtual Network Manager Security Admin Configuration implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for defining high-priority security rules that
|
|
5
|
+
* are evaluated before traditional NSGs. Security admin configurations enable centralized
|
|
6
|
+
* security policy enforcement across virtual networks.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2023-11-01 (Maintenance)
|
|
10
|
+
* - 2024-05-01 (Active, Latest)
|
|
11
|
+
*
|
|
12
|
+
* Features:
|
|
13
|
+
* - Automatic latest version resolution when no version is specified
|
|
14
|
+
* - Explicit version pinning for stability requirements
|
|
15
|
+
* - Schema-driven validation and transformation
|
|
16
|
+
* - High-priority rules that override NSG rules
|
|
17
|
+
* - Full backward compatibility
|
|
18
|
+
* - JSII compliance for multi-language support
|
|
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 Virtual Network Manager Security Admin Configuration
|
|
26
|
+
*
|
|
27
|
+
* Extends AzapiResourceProps with Security Admin Configuration specific properties
|
|
28
|
+
*/
|
|
29
|
+
export interface SecurityAdminConfigurationProps extends AzapiResourceProps {
|
|
30
|
+
/**
|
|
31
|
+
* Resource ID of the parent Network Manager
|
|
32
|
+
* @example "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Network/networkManagers/vnm"
|
|
33
|
+
*/
|
|
34
|
+
readonly networkManagerId: string;
|
|
35
|
+
/**
|
|
36
|
+
* Optional description of the security admin configuration
|
|
37
|
+
* @example "Organization-wide security rules for production workloads"
|
|
38
|
+
*/
|
|
39
|
+
readonly description?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Services to apply the security admin configuration on
|
|
42
|
+
* @example ["None"]
|
|
43
|
+
* @example ["All"]
|
|
44
|
+
*/
|
|
45
|
+
readonly applyOnNetworkIntentPolicyBasedServices?: string[];
|
|
46
|
+
/**
|
|
47
|
+
* The lifecycle rules to ignore changes
|
|
48
|
+
* @example ["tags"]
|
|
49
|
+
*/
|
|
50
|
+
readonly ignoreChanges?: string[];
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Properties for Security Admin Configuration body
|
|
54
|
+
*/
|
|
55
|
+
export interface SecurityAdminConfigurationProperties {
|
|
56
|
+
readonly description?: string;
|
|
57
|
+
readonly applyOnNetworkIntentPolicyBasedServices?: string[];
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* The resource body interface for Azure Security Admin Configuration API calls
|
|
61
|
+
*/
|
|
62
|
+
export interface SecurityAdminConfigurationBody {
|
|
63
|
+
readonly properties?: SecurityAdminConfigurationProperties;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Azure Virtual Network Manager Security Admin Configuration implementation
|
|
67
|
+
*
|
|
68
|
+
* Security admin configurations define high-priority security rules that are evaluated
|
|
69
|
+
* BEFORE traditional Network Security Groups (NSGs). This allows organizations to enforce
|
|
70
|
+
* security policies that cannot be overridden by individual teams managing NSGs.
|
|
71
|
+
*
|
|
72
|
+
* Key features:
|
|
73
|
+
* - Three action types: Allow (NSG can still deny), Deny (stops traffic), AlwaysAllow (forces allow)
|
|
74
|
+
* - Higher priority than NSG rules
|
|
75
|
+
* - Centralized security policy enforcement
|
|
76
|
+
* - Can block high-risk ports organization-wide
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* // Basic security admin configuration:
|
|
80
|
+
* const securityConfig = new SecurityAdminConfiguration(this, "security-config", {
|
|
81
|
+
* name: "production-security",
|
|
82
|
+
* networkManagerId: networkManager.id,
|
|
83
|
+
* description: "High-priority security rules for production"
|
|
84
|
+
* });
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* // Configuration with service-specific settings:
|
|
88
|
+
* const securityConfig = new SecurityAdminConfiguration(this, "security-config", {
|
|
89
|
+
* name: "org-security-rules",
|
|
90
|
+
* networkManagerId: networkManager.id,
|
|
91
|
+
* description: "Organization-wide security enforcement",
|
|
92
|
+
* applyOnNetworkIntentPolicyBasedServices: ["None"],
|
|
93
|
+
* apiVersion: "2024-05-01"
|
|
94
|
+
* });
|
|
95
|
+
*
|
|
96
|
+
* @stability stable
|
|
97
|
+
*/
|
|
98
|
+
export declare class SecurityAdminConfiguration extends AzapiResource {
|
|
99
|
+
/**
|
|
100
|
+
* The input properties for this Security Admin Configuration instance
|
|
101
|
+
*/
|
|
102
|
+
readonly props: SecurityAdminConfigurationProps;
|
|
103
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
104
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
105
|
+
readonly provisioningStateOutput: cdktf.TerraformOutput;
|
|
106
|
+
readonly resourceName: string;
|
|
107
|
+
/**
|
|
108
|
+
* Creates a new Azure Virtual Network Manager Security Admin Configuration using the AzapiResource framework
|
|
109
|
+
*
|
|
110
|
+
* @param scope - The scope in which to define this construct
|
|
111
|
+
* @param id - The unique identifier for this instance
|
|
112
|
+
* @param props - Configuration properties for the Security Admin Configuration
|
|
113
|
+
*/
|
|
114
|
+
constructor(scope: Construct, id: string, props: SecurityAdminConfigurationProps);
|
|
115
|
+
/**
|
|
116
|
+
* Resolves the parent resource ID for the Security Admin Configuration
|
|
117
|
+
* Security Admin Configurations are scoped to Network Managers
|
|
118
|
+
*/
|
|
119
|
+
protected resolveParentId(props: any): string;
|
|
120
|
+
/**
|
|
121
|
+
* Gets the default API version to use when no explicit version is specified
|
|
122
|
+
*/
|
|
123
|
+
protected defaultVersion(): string;
|
|
124
|
+
/**
|
|
125
|
+
* Gets the Azure resource type for Security Admin Configurations
|
|
126
|
+
*/
|
|
127
|
+
protected resourceType(): string;
|
|
128
|
+
/**
|
|
129
|
+
* Gets the API schema for the resolved version
|
|
130
|
+
*/
|
|
131
|
+
protected apiSchema(): ApiSchema;
|
|
132
|
+
/**
|
|
133
|
+
* Creates the resource body for the Azure API call
|
|
134
|
+
*/
|
|
135
|
+
protected createResourceBody(props: any): any;
|
|
136
|
+
/**
|
|
137
|
+
* Get the provisioning state of the Security Admin Configuration
|
|
138
|
+
*/
|
|
139
|
+
get provisioningState(): string;
|
|
140
|
+
/**
|
|
141
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
142
|
+
*/
|
|
143
|
+
private _applyIgnoreChanges;
|
|
144
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SecurityAdminConfiguration = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/**
|
|
7
|
+
* Azure Virtual Network Manager Security Admin Configuration implementation using AzapiResource framework
|
|
8
|
+
*
|
|
9
|
+
* This class provides a unified implementation for defining high-priority security rules that
|
|
10
|
+
* are evaluated before traditional NSGs. Security admin configurations enable centralized
|
|
11
|
+
* security policy enforcement across virtual networks.
|
|
12
|
+
*
|
|
13
|
+
* Supported API Versions:
|
|
14
|
+
* - 2023-11-01 (Maintenance)
|
|
15
|
+
* - 2024-05-01 (Active, Latest)
|
|
16
|
+
*
|
|
17
|
+
* Features:
|
|
18
|
+
* - Automatic latest version resolution when no version is specified
|
|
19
|
+
* - Explicit version pinning for stability requirements
|
|
20
|
+
* - Schema-driven validation and transformation
|
|
21
|
+
* - High-priority rules that override NSG rules
|
|
22
|
+
* - Full backward compatibility
|
|
23
|
+
* - JSII compliance for multi-language support
|
|
24
|
+
*/
|
|
25
|
+
const cdktf = require("cdktf");
|
|
26
|
+
const security_admin_configuration_schemas_1 = require("./security-admin-configuration-schemas");
|
|
27
|
+
const azapi_resource_1 = require("../../core-azure/lib/azapi/azapi-resource");
|
|
28
|
+
/**
|
|
29
|
+
* Azure Virtual Network Manager Security Admin Configuration implementation
|
|
30
|
+
*
|
|
31
|
+
* Security admin configurations define high-priority security rules that are evaluated
|
|
32
|
+
* BEFORE traditional Network Security Groups (NSGs). This allows organizations to enforce
|
|
33
|
+
* security policies that cannot be overridden by individual teams managing NSGs.
|
|
34
|
+
*
|
|
35
|
+
* Key features:
|
|
36
|
+
* - Three action types: Allow (NSG can still deny), Deny (stops traffic), AlwaysAllow (forces allow)
|
|
37
|
+
* - Higher priority than NSG rules
|
|
38
|
+
* - Centralized security policy enforcement
|
|
39
|
+
* - Can block high-risk ports organization-wide
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* // Basic security admin configuration:
|
|
43
|
+
* const securityConfig = new SecurityAdminConfiguration(this, "security-config", {
|
|
44
|
+
* name: "production-security",
|
|
45
|
+
* networkManagerId: networkManager.id,
|
|
46
|
+
* description: "High-priority security rules for production"
|
|
47
|
+
* });
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* // Configuration with service-specific settings:
|
|
51
|
+
* const securityConfig = new SecurityAdminConfiguration(this, "security-config", {
|
|
52
|
+
* name: "org-security-rules",
|
|
53
|
+
* networkManagerId: networkManager.id,
|
|
54
|
+
* description: "Organization-wide security enforcement",
|
|
55
|
+
* applyOnNetworkIntentPolicyBasedServices: ["None"],
|
|
56
|
+
* apiVersion: "2024-05-01"
|
|
57
|
+
* });
|
|
58
|
+
*
|
|
59
|
+
* @stability stable
|
|
60
|
+
*/
|
|
61
|
+
class SecurityAdminConfiguration extends azapi_resource_1.AzapiResource {
|
|
62
|
+
/**
|
|
63
|
+
* Creates a new Azure Virtual Network Manager Security Admin Configuration using the AzapiResource framework
|
|
64
|
+
*
|
|
65
|
+
* @param scope - The scope in which to define this construct
|
|
66
|
+
* @param id - The unique identifier for this instance
|
|
67
|
+
* @param props - Configuration properties for the Security Admin Configuration
|
|
68
|
+
*/
|
|
69
|
+
constructor(scope, id, props) {
|
|
70
|
+
super(scope, id, props);
|
|
71
|
+
this.props = props;
|
|
72
|
+
// Extract properties from the AZAPI resource outputs using Terraform interpolation
|
|
73
|
+
this.resourceName = `\${${this.terraformResource.fqn}.name}`;
|
|
74
|
+
// Create Terraform outputs for easy access and referencing from other resources
|
|
75
|
+
this.idOutput = new cdktf.TerraformOutput(this, "id", {
|
|
76
|
+
value: this.id,
|
|
77
|
+
description: "The ID of the Security Admin Configuration",
|
|
78
|
+
});
|
|
79
|
+
this.nameOutput = new cdktf.TerraformOutput(this, "name", {
|
|
80
|
+
value: this.resourceName,
|
|
81
|
+
description: "The name of the Security Admin Configuration",
|
|
82
|
+
});
|
|
83
|
+
this.provisioningStateOutput = new cdktf.TerraformOutput(this, "provisioningState", {
|
|
84
|
+
value: `\${${this.terraformResource.fqn}.output.properties.provisioningState}`,
|
|
85
|
+
description: "The provisioning state of the Security Admin Configuration",
|
|
86
|
+
});
|
|
87
|
+
// Override logical IDs to match naming convention
|
|
88
|
+
this.idOutput.overrideLogicalId("id");
|
|
89
|
+
this.nameOutput.overrideLogicalId("name");
|
|
90
|
+
this.provisioningStateOutput.overrideLogicalId("provisioningState");
|
|
91
|
+
// Apply ignore changes if specified
|
|
92
|
+
this._applyIgnoreChanges();
|
|
93
|
+
}
|
|
94
|
+
// =============================================================================
|
|
95
|
+
// REQUIRED ABSTRACT METHODS FROM AzapiResource
|
|
96
|
+
// =============================================================================
|
|
97
|
+
/**
|
|
98
|
+
* Resolves the parent resource ID for the Security Admin Configuration
|
|
99
|
+
* Security Admin Configurations are scoped to Network Managers
|
|
100
|
+
*/
|
|
101
|
+
resolveParentId(props) {
|
|
102
|
+
const typedProps = props;
|
|
103
|
+
return typedProps.networkManagerId;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Gets the default API version to use when no explicit version is specified
|
|
107
|
+
*/
|
|
108
|
+
defaultVersion() {
|
|
109
|
+
return "2024-05-01";
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Gets the Azure resource type for Security Admin Configurations
|
|
113
|
+
*/
|
|
114
|
+
resourceType() {
|
|
115
|
+
return security_admin_configuration_schemas_1.SECURITY_ADMIN_CONFIGURATION_TYPE;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Gets the API schema for the resolved version
|
|
119
|
+
*/
|
|
120
|
+
apiSchema() {
|
|
121
|
+
return this.resolveSchema();
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Creates the resource body for the Azure API call
|
|
125
|
+
*/
|
|
126
|
+
createResourceBody(props) {
|
|
127
|
+
const typedProps = props;
|
|
128
|
+
return {
|
|
129
|
+
properties: {
|
|
130
|
+
description: typedProps.description,
|
|
131
|
+
applyOnNetworkIntentPolicyBasedServices: typedProps.applyOnNetworkIntentPolicyBasedServices,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
// =============================================================================
|
|
136
|
+
// PUBLIC METHODS FOR SECURITY ADMIN CONFIGURATION OPERATIONS
|
|
137
|
+
// =============================================================================
|
|
138
|
+
/**
|
|
139
|
+
* Get the provisioning state of the Security Admin Configuration
|
|
140
|
+
*/
|
|
141
|
+
get provisioningState() {
|
|
142
|
+
return `\${${this.terraformResource.fqn}.output.properties.provisioningState}`;
|
|
143
|
+
}
|
|
144
|
+
// =============================================================================
|
|
145
|
+
// PRIVATE HELPER METHODS
|
|
146
|
+
// =============================================================================
|
|
147
|
+
/**
|
|
148
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
149
|
+
*/
|
|
150
|
+
_applyIgnoreChanges() {
|
|
151
|
+
if (this.props.ignoreChanges && this.props.ignoreChanges.length > 0) {
|
|
152
|
+
this.terraformResource.addOverride("lifecycle", {
|
|
153
|
+
ignore_changes: this.props.ignoreChanges,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.SecurityAdminConfiguration = SecurityAdminConfiguration;
|
|
159
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
160
|
+
SecurityAdminConfiguration[_a] = { fqn: "@microsoft/terraform-cdk-constructs.SecurityAdminConfiguration", version: "1.3.0" };
|
|
161
|
+
(() => {
|
|
162
|
+
azapi_resource_1.AzapiResource.registerSchemas(security_admin_configuration_schemas_1.SECURITY_ADMIN_CONFIGURATION_TYPE, security_admin_configuration_schemas_1.ALL_SECURITY_ADMIN_CONFIGURATION_VERSIONS);
|
|
163
|
+
})();
|
|
164
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VjdXJpdHktYWRtaW4tY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9henVyZS12aXJ0dWFsbmV0d29ya21hbmFnZXIvbGliL3NlY3VyaXR5LWFkbWluLWNvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBRUgsK0JBQStCO0FBRS9CLGlHQUdnRDtBQUNoRCw4RUFHbUQ7QUFrRG5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDRztBQUNILE1BQWEsMEJBQTJCLFNBQVEsOEJBQWE7SUFxQjNEOzs7Ozs7T0FNRztJQUNILFlBQ0UsS0FBZ0IsRUFDaEIsRUFBVSxFQUNWLEtBQXNDO1FBRXRDLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXhCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLG1GQUFtRjtRQUNuRixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsUUFBUSxDQUFDO1FBRTdELGdGQUFnRjtRQUNoRixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksS0FBSyxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ3BELEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNkLFdBQVcsRUFBRSw0Q0FBNEM7U0FDMUQsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRTtZQUN4RCxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDeEIsV0FBVyxFQUFFLDhDQUE4QztTQUM1RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxLQUFLLENBQUMsZUFBZSxDQUN0RCxJQUFJLEVBQ0osbUJBQW1CLEVBQ25CO1lBQ0UsS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsdUNBQXVDO1lBQzlFLFdBQVcsRUFDVCw0REFBNEQ7U0FDL0QsQ0FDRixDQUFDO1FBRUYsa0RBQWtEO1FBQ2xELElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVwRSxvQ0FBb0M7UUFDcEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELGdGQUFnRjtJQUNoRiwrQ0FBK0M7SUFDL0MsZ0ZBQWdGO0lBRWhGOzs7T0FHRztJQUNPLGVBQWUsQ0FBQyxLQUFVO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLEtBQXdDLENBQUM7UUFDNUQsT0FBTyxVQUFVLENBQUMsZ0JBQWdCLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ08sY0FBYztRQUN0QixPQUFPLFlBQVksQ0FBQztJQUN0QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxZQUFZO1FBQ3BCLE9BQU8sd0VBQWlDLENBQUM7SUFDM0MsQ0FBQztJQUVEOztPQUVHO0lBQ08sU0FBUztRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFDTyxrQkFBa0IsQ0FBQyxLQUFVO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLEtBQXdDLENBQUM7UUFDNUQsT0FBTztZQUNMLFVBQVUsRUFBRTtnQkFDVixXQUFXLEVBQUUsVUFBVSxDQUFDLFdBQVc7Z0JBQ25DLHVDQUF1QyxFQUNyQyxVQUFVLENBQUMsdUNBQXVDO2FBQ3JEO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFRCxnRkFBZ0Y7SUFDaEYsNkRBQTZEO0lBQzdELGdGQUFnRjtJQUVoRjs7T0FFRztJQUNILElBQVcsaUJBQWlCO1FBQzFCLE9BQU8sTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyx1Q0FBdUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLHlCQUF5QjtJQUN6QixnRkFBZ0Y7SUFFaEY7O09BRUc7SUFDSyxtQkFBbUI7UUFDekIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUU7Z0JBQzlDLGNBQWMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWE7YUFDekMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7O0FBOUlILGdFQStJQzs7O0FBOUlDO0lBQ0UsOEJBQWEsQ0FBQyxlQUFlLENBQzNCLHdFQUFpQyxFQUNqQyxnRkFBeUMsQ0FDMUMsQ0FBQztBQUNKLENBQUMsR0FBQSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBTZWN1cml0eSBBZG1pbiBDb25maWd1cmF0aW9uIGltcGxlbWVudGF0aW9uIHVzaW5nIEF6YXBpUmVzb3VyY2UgZnJhbWV3b3JrXG4gKlxuICogVGhpcyBjbGFzcyBwcm92aWRlcyBhIHVuaWZpZWQgaW1wbGVtZW50YXRpb24gZm9yIGRlZmluaW5nIGhpZ2gtcHJpb3JpdHkgc2VjdXJpdHkgcnVsZXMgdGhhdFxuICogYXJlIGV2YWx1YXRlZCBiZWZvcmUgdHJhZGl0aW9uYWwgTlNHcy4gU2VjdXJpdHkgYWRtaW4gY29uZmlndXJhdGlvbnMgZW5hYmxlIGNlbnRyYWxpemVkXG4gKiBzZWN1cml0eSBwb2xpY3kgZW5mb3JjZW1lbnQgYWNyb3NzIHZpcnR1YWwgbmV0d29ya3MuXG4gKlxuICogU3VwcG9ydGVkIEFQSSBWZXJzaW9uczpcbiAqIC0gMjAyMy0xMS0wMSAoTWFpbnRlbmFuY2UpXG4gKiAtIDIwMjQtMDUtMDEgKEFjdGl2ZSwgTGF0ZXN0KVxuICpcbiAqIEZlYXR1cmVzOlxuICogLSBBdXRvbWF0aWMgbGF0ZXN0IHZlcnNpb24gcmVzb2x1dGlvbiB3aGVuIG5vIHZlcnNpb24gaXMgc3BlY2lmaWVkXG4gKiAtIEV4cGxpY2l0IHZlcnNpb24gcGlubmluZyBmb3Igc3RhYmlsaXR5IHJlcXVpcmVtZW50c1xuICogLSBTY2hlbWEtZHJpdmVuIHZhbGlkYXRpb24gYW5kIHRyYW5zZm9ybWF0aW9uXG4gKiAtIEhpZ2gtcHJpb3JpdHkgcnVsZXMgdGhhdCBvdmVycmlkZSBOU0cgcnVsZXNcbiAqIC0gRnVsbCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKiAtIEpTSUkgY29tcGxpYW5jZSBmb3IgbXVsdGktbGFuZ3VhZ2Ugc3VwcG9ydFxuICovXG5cbmltcG9ydCAqIGFzIGNka3RmIGZyb20gXCJjZGt0ZlwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7XG4gIEFMTF9TRUNVUklUWV9BRE1JTl9DT05GSUdVUkFUSU9OX1ZFUlNJT05TLFxuICBTRUNVUklUWV9BRE1JTl9DT05GSUdVUkFUSU9OX1RZUEUsXG59IGZyb20gXCIuL3NlY3VyaXR5LWFkbWluLWNvbmZpZ3VyYXRpb24tc2NoZW1hc1wiO1xuaW1wb3J0IHtcbiAgQXphcGlSZXNvdXJjZSxcbiAgQXphcGlSZXNvdXJjZVByb3BzLFxufSBmcm9tIFwiLi4vLi4vY29yZS1henVyZS9saWIvYXphcGkvYXphcGktcmVzb3VyY2VcIjtcbmltcG9ydCB7IEFwaVNjaGVtYSB9IGZyb20gXCIuLi8uLi9jb3JlLWF6dXJlL2xpYi92ZXJzaW9uLW1hbmFnZXIvaW50ZXJmYWNlcy92ZXJzaW9uLWludGVyZmFjZXNcIjtcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciB0aGUgQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvblxuICpcbiAqIEV4dGVuZHMgQXphcGlSZXNvdXJjZVByb3BzIHdpdGggU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvbiBzcGVjaWZpYyBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlBZG1pbkNvbmZpZ3VyYXRpb25Qcm9wcyBleHRlbmRzIEF6YXBpUmVzb3VyY2VQcm9wcyB7XG4gIC8qKlxuICAgKiBSZXNvdXJjZSBJRCBvZiB0aGUgcGFyZW50IE5ldHdvcmsgTWFuYWdlclxuICAgKiBAZXhhbXBsZSBcIi9zdWJzY3JpcHRpb25zLzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMC9yZXNvdXJjZUdyb3Vwcy9yZy9wcm92aWRlcnMvTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya01hbmFnZXJzL3ZubVwiXG4gICAqL1xuICByZWFkb25seSBuZXR3b3JrTWFuYWdlcklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRlc2NyaXB0aW9uIG9mIHRoZSBzZWN1cml0eSBhZG1pbiBjb25maWd1cmF0aW9uXG4gICAqIEBleGFtcGxlIFwiT3JnYW5pemF0aW9uLXdpZGUgc2VjdXJpdHkgcnVsZXMgZm9yIHByb2R1Y3Rpb24gd29ya2xvYWRzXCJcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXJ2aWNlcyB0byBhcHBseSB0aGUgc2VjdXJpdHkgYWRtaW4gY29uZmlndXJhdGlvbiBvblxuICAgKiBAZXhhbXBsZSBbXCJOb25lXCJdXG4gICAqIEBleGFtcGxlIFtcIkFsbFwiXVxuICAgKi9cbiAgcmVhZG9ubHkgYXBwbHlPbk5ldHdvcmtJbnRlbnRQb2xpY3lCYXNlZFNlcnZpY2VzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgcnVsZXMgdG8gaWdub3JlIGNoYW5nZXNcbiAgICogQGV4YW1wbGUgW1widGFnc1wiXVxuICAgKi9cbiAgcmVhZG9ubHkgaWdub3JlQ2hhbmdlcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb24gYm9keVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNlY3VyaXR5QWRtaW5Db25maWd1cmF0aW9uUHJvcGVydGllcyB7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSBhcHBseU9uTmV0d29ya0ludGVudFBvbGljeUJhc2VkU2VydmljZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBUaGUgcmVzb3VyY2UgYm9keSBpbnRlcmZhY2UgZm9yIEF6dXJlIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb24gQVBJIGNhbGxzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VjdXJpdHlBZG1pbkNvbmZpZ3VyYXRpb25Cb2R5IHtcbiAgcmVhZG9ubHkgcHJvcGVydGllcz86IFNlY3VyaXR5QWRtaW5Db25maWd1cmF0aW9uUHJvcGVydGllcztcbn1cblxuLyoqXG4gKiBBenVyZSBWaXJ0dWFsIE5ldHdvcmsgTWFuYWdlciBTZWN1cml0eSBBZG1pbiBDb25maWd1cmF0aW9uIGltcGxlbWVudGF0aW9uXG4gKlxuICogU2VjdXJpdHkgYWRtaW4gY29uZmlndXJhdGlvbnMgZGVmaW5lIGhpZ2gtcHJpb3JpdHkgc2VjdXJpdHkgcnVsZXMgdGhhdCBhcmUgZXZhbHVhdGVkXG4gKiBCRUZPUkUgdHJhZGl0aW9uYWwgTmV0d29yayBTZWN1cml0eSBHcm91cHMgKE5TR3MpLiBUaGlzIGFsbG93cyBvcmdhbml6YXRpb25zIHRvIGVuZm9yY2VcbiAqIHNlY3VyaXR5IHBvbGljaWVzIHRoYXQgY2Fubm90IGJlIG92ZXJyaWRkZW4gYnkgaW5kaXZpZHVhbCB0ZWFtcyBtYW5hZ2luZyBOU0dzLlxuICpcbiAqIEtleSBmZWF0dXJlczpcbiAqIC0gVGhyZWUgYWN0aW9uIHR5cGVzOiBBbGxvdyAoTlNHIGNhbiBzdGlsbCBkZW55KSwgRGVueSAoc3RvcHMgdHJhZmZpYyksIEFsd2F5c0FsbG93IChmb3JjZXMgYWxsb3cpXG4gKiAtIEhpZ2hlciBwcmlvcml0eSB0aGFuIE5TRyBydWxlc1xuICogLSBDZW50cmFsaXplZCBzZWN1cml0eSBwb2xpY3kgZW5mb3JjZW1lbnRcbiAqIC0gQ2FuIGJsb2NrIGhpZ2gtcmlzayBwb3J0cyBvcmdhbml6YXRpb24td2lkZVxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBCYXNpYyBzZWN1cml0eSBhZG1pbiBjb25maWd1cmF0aW9uOlxuICogY29uc3Qgc2VjdXJpdHlDb25maWcgPSBuZXcgU2VjdXJpdHlBZG1pbkNvbmZpZ3VyYXRpb24odGhpcywgXCJzZWN1cml0eS1jb25maWdcIiwge1xuICogICBuYW1lOiBcInByb2R1Y3Rpb24tc2VjdXJpdHlcIixcbiAqICAgbmV0d29ya01hbmFnZXJJZDogbmV0d29ya01hbmFnZXIuaWQsXG4gKiAgIGRlc2NyaXB0aW9uOiBcIkhpZ2gtcHJpb3JpdHkgc2VjdXJpdHkgcnVsZXMgZm9yIHByb2R1Y3Rpb25cIlxuICogfSk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENvbmZpZ3VyYXRpb24gd2l0aCBzZXJ2aWNlLXNwZWNpZmljIHNldHRpbmdzOlxuICogY29uc3Qgc2VjdXJpdHlDb25maWcgPSBuZXcgU2VjdXJpdHlBZG1pbkNvbmZpZ3VyYXRpb24odGhpcywgXCJzZWN1cml0eS1jb25maWdcIiwge1xuICogICBuYW1lOiBcIm9yZy1zZWN1cml0eS1ydWxlc1wiLFxuICogICBuZXR3b3JrTWFuYWdlcklkOiBuZXR3b3JrTWFuYWdlci5pZCxcbiAqICAgZGVzY3JpcHRpb246IFwiT3JnYW5pemF0aW9uLXdpZGUgc2VjdXJpdHkgZW5mb3JjZW1lbnRcIixcbiAqICAgYXBwbHlPbk5ldHdvcmtJbnRlbnRQb2xpY3lCYXNlZFNlcnZpY2VzOiBbXCJOb25lXCJdLFxuICogICBhcGlWZXJzaW9uOiBcIjIwMjQtMDUtMDFcIlxuICogfSk7XG4gKlxuICogQHN0YWJpbGl0eSBzdGFibGVcbiAqL1xuZXhwb3J0IGNsYXNzIFNlY3VyaXR5QWRtaW5Db25maWd1cmF0aW9uIGV4dGVuZHMgQXphcGlSZXNvdXJjZSB7XG4gIHN0YXRpYyB7XG4gICAgQXphcGlSZXNvdXJjZS5yZWdpc3RlclNjaGVtYXMoXG4gICAgICBTRUNVUklUWV9BRE1JTl9DT05GSUdVUkFUSU9OX1RZUEUsXG4gICAgICBBTExfU0VDVVJJVFlfQURNSU5fQ09ORklHVVJBVElPTl9WRVJTSU9OUyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbnB1dCBwcm9wZXJ0aWVzIGZvciB0aGlzIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb24gaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm9wczogU2VjdXJpdHlBZG1pbkNvbmZpZ3VyYXRpb25Qcm9wcztcblxuICAvLyBPdXRwdXQgcHJvcGVydGllcyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nXG4gIHB1YmxpYyByZWFkb25seSBpZE91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZU91dHB1dDogY2RrdGYuVGVycmFmb3JtT3V0cHV0O1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvdmlzaW9uaW5nU3RhdGVPdXRwdXQ6IGNka3RmLlRlcnJhZm9ybU91dHB1dDtcblxuICAvLyBQdWJsaWMgcHJvcGVydGllc1xuICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2VOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQXp1cmUgVmlydHVhbCBOZXR3b3JrIE1hbmFnZXIgU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvbiB1c2luZyB0aGUgQXphcGlSZXNvdXJjZSBmcmFtZXdvcmtcbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIHNjb3BlIGluIHdoaWNoIHRvIGRlZmluZSB0aGlzIGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoaXMgaW5zdGFuY2VcbiAgICogQHBhcmFtIHByb3BzIC0gQ29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvblxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBTZWN1cml0eUFkbWluQ29uZmlndXJhdGlvblByb3BzLFxuICApIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcblxuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcblxuICAgIC8vIEV4dHJhY3QgcHJvcGVydGllcyBmcm9tIHRoZSBBWkFQSSByZXNvdXJjZSBvdXRwdXRzIHVzaW5nIFRlcnJhZm9ybSBpbnRlcnBvbGF0aW9uXG4gICAgdGhpcy5yZXNvdXJjZU5hbWUgPSBgXFwkeyR7dGhpcy50ZXJyYWZvcm1SZXNvdXJjZS5mcW59Lm5hbWV9YDtcblxuICAgIC8vIENyZWF0ZSBUZXJyYWZvcm0gb3V0cHV0cyBmb3IgZWFzeSBhY2Nlc3MgYW5kIHJlZmVyZW5jaW5nIGZyb20gb3RoZXIgcmVzb3VyY2VzXG4gICAgdGhpcy5pZE91dHB1dCA9IG5ldyBjZGt0Zi5UZXJyYWZvcm1PdXRwdXQodGhpcywgXCJpZFwiLCB7XG4gICAgICB2YWx1ZTogdGhpcy5pZCxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlRoZSBJRCBvZiB0aGUgU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvblwiLFxuICAgIH0pO1xuXG4gICAgdGhpcy5uYW1lT3V0cHV0ID0gbmV3IGNka3RmLlRlcnJhZm9ybU91dHB1dCh0aGlzLCBcIm5hbWVcIiwge1xuICAgICAgdmFsdWU6IHRoaXMucmVzb3VyY2VOYW1lLFxuICAgICAgZGVzY3JpcHRpb246IFwiVGhlIG5hbWUgb2YgdGhlIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb25cIixcbiAgICB9KTtcblxuICAgIHRoaXMucHJvdmlzaW9uaW5nU3RhdGVPdXRwdXQgPSBuZXcgY2RrdGYuVGVycmFmb3JtT3V0cHV0KFxuICAgICAgdGhpcyxcbiAgICAgIFwicHJvdmlzaW9uaW5nU3RhdGVcIixcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IGBcXCR7JHt0aGlzLnRlcnJhZm9ybVJlc291cmNlLmZxbn0ub3V0cHV0LnByb3BlcnRpZXMucHJvdmlzaW9uaW5nU3RhdGV9YCxcbiAgICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICAgXCJUaGUgcHJvdmlzaW9uaW5nIHN0YXRlIG9mIHRoZSBTZWN1cml0eSBBZG1pbiBDb25maWd1cmF0aW9uXCIsXG4gICAgICB9LFxuICAgICk7XG5cbiAgICAvLyBPdmVycmlkZSBsb2dpY2FsIElEcyB0byBtYXRjaCBuYW1pbmcgY29udmVudGlvblxuICAgIHRoaXMuaWRPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJpZFwiKTtcbiAgICB0aGlzLm5hbWVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJuYW1lXCIpO1xuICAgIHRoaXMucHJvdmlzaW9uaW5nU3RhdGVPdXRwdXQub3ZlcnJpZGVMb2dpY2FsSWQoXCJwcm92aXNpb25pbmdTdGF0ZVwiKTtcblxuICAgIC8vIEFwcGx5IGlnbm9yZSBjaGFuZ2VzIGlmIHNwZWNpZmllZFxuICAgIHRoaXMuX2FwcGx5SWdub3JlQ2hhbmdlcygpO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUkVRVUlSRUQgQUJTVFJBQ1QgTUVUSE9EUyBGUk9NIEF6YXBpUmVzb3VyY2VcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhlIHBhcmVudCByZXNvdXJjZSBJRCBmb3IgdGhlIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb25cbiAgICogU2VjdXJpdHkgQWRtaW4gQ29uZmlndXJhdGlvbnMgYXJlIHNjb3BlZCB0byBOZXR3b3JrIE1hbmFnZXJzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb2x2ZVBhcmVudElkKHByb3BzOiBhbnkpOiBzdHJpbmcge1xuICAgIGNvbnN0IHR5cGVkUHJvcHMgPSBwcm9wcyBhcyBTZWN1cml0eUFkbWluQ29uZmlndXJhdGlvblByb3BzO1xuICAgIHJldHVybiB0eXBlZFByb3BzLm5ldHdvcmtNYW5hZ2VySWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZGVmYXVsdCBBUEkgdmVyc2lvbiB0byB1c2Ugd2hlbiBubyBleHBsaWNpdCB2ZXJzaW9uIGlzIHNwZWNpZmllZFxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiMjAyNC0wNS0wMVwiO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEF6dXJlIHJlc291cmNlIHR5cGUgZm9yIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVzb3VyY2VUeXBlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFNFQ1VSSVRZX0FETUlOX0NPTkZJR1VSQVRJT05fVFlQRTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBUEkgc2NoZW1hIGZvciB0aGUgcmVzb2x2ZWQgdmVyc2lvblxuICAgKi9cbiAgcHJvdGVjdGVkIGFwaVNjaGVtYSgpOiBBcGlTY2hlbWEge1xuICAgIHJldHVybiB0aGlzLnJlc29sdmVTY2hlbWEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSByZXNvdXJjZSBib2R5IGZvciB0aGUgQXp1cmUgQVBJIGNhbGxcbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVSZXNvdXJjZUJvZHkocHJvcHM6IGFueSk6IGFueSB7XG4gICAgY29uc3QgdHlwZWRQcm9wcyA9IHByb3BzIGFzIFNlY3VyaXR5QWRtaW5Db25maWd1cmF0aW9uUHJvcHM7XG4gICAgcmV0dXJuIHtcbiAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgZGVzY3JpcHRpb246IHR5cGVkUHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICAgIGFwcGx5T25OZXR3b3JrSW50ZW50UG9saWN5QmFzZWRTZXJ2aWNlczpcbiAgICAgICAgICB0eXBlZFByb3BzLmFwcGx5T25OZXR3b3JrSW50ZW50UG9saWN5QmFzZWRTZXJ2aWNlcyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gIC8vIFBVQkxJQyBNRVRIT0RTIEZPUiBTRUNVUklUWSBBRE1JTiBDT05GSUdVUkFUSU9OIE9QRVJBVElPTlNcbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAvKipcbiAgICogR2V0IHRoZSBwcm92aXNpb25pbmcgc3RhdGUgb2YgdGhlIFNlY3VyaXR5IEFkbWluIENvbmZpZ3VyYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXQgcHJvdmlzaW9uaW5nU3RhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYFxcJHske3RoaXMudGVycmFmb3JtUmVzb3VyY2UuZnFufS5vdXRwdXQucHJvcGVydGllcy5wcm92aXNpb25pbmdTdGF0ZX1gO1xuICB9XG5cbiAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgLy8gUFJJVkFURSBIRUxQRVIgTUVUSE9EU1xuICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gIC8qKlxuICAgKiBBcHBsaWVzIGlnbm9yZSBjaGFuZ2VzIGxpZmVjeWNsZSBydWxlcyBpZiBzcGVjaWZpZWQgaW4gcHJvcHNcbiAgICovXG4gIHByaXZhdGUgX2FwcGx5SWdub3JlQ2hhbmdlcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5pZ25vcmVDaGFuZ2VzICYmIHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnRlcnJhZm9ybVJlc291cmNlLmFkZE92ZXJyaWRlKFwibGlmZWN5Y2xlXCIsIHtcbiAgICAgICAgaWdub3JlX2NoYW5nZXM6IHRoaXMucHJvcHMuaWdub3JlQ2hhbmdlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API schemas for Azure Virtual Network Manager Security Admin Rule Collections across all supported versions
|
|
3
|
+
*
|
|
4
|
+
* This file defines the complete API schemas for Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections
|
|
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
|
+
* Network group reference for rule collection
|
|
11
|
+
*/
|
|
12
|
+
export interface SecurityAdminConfigurationRuleGroupItem {
|
|
13
|
+
readonly networkGroupId: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* API Schema for Rule Collection version 2024-05-01
|
|
17
|
+
*/
|
|
18
|
+
export declare const RULE_COLLECTION_SCHEMA_2024_05_01: ApiSchema;
|
|
19
|
+
/**
|
|
20
|
+
* API Schema for Rule Collection version 2023-11-01
|
|
21
|
+
*/
|
|
22
|
+
export declare const RULE_COLLECTION_SCHEMA_2023_11_01: ApiSchema;
|
|
23
|
+
/**
|
|
24
|
+
* Version configuration for Rule Collection 2024-05-01
|
|
25
|
+
*/
|
|
26
|
+
export declare const RULE_COLLECTION_VERSION_2024_05_01: VersionConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Version configuration for Rule Collection 2023-11-01
|
|
29
|
+
*/
|
|
30
|
+
export declare const RULE_COLLECTION_VERSION_2023_11_01: VersionConfig;
|
|
31
|
+
/**
|
|
32
|
+
* All supported Rule Collection versions for registration
|
|
33
|
+
*/
|
|
34
|
+
export declare const ALL_RULE_COLLECTION_VERSIONS: VersionConfig[];
|
|
35
|
+
/**
|
|
36
|
+
* Resource type constant
|
|
37
|
+
*/
|
|
38
|
+
export declare const RULE_COLLECTION_TYPE = "Microsoft.Network/networkManagers/securityAdminConfigurations/ruleCollections";
|