@microsoft/terraform-cdk-constructs 1.7.1 → 1.9.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 +46476 -27231
- package/API.md +68443 -28286
- package/lib/azure-actiongroup/lib/action-group.js +1 -1
- package/lib/azure-activitylogalert/lib/activity-log-alert.js +1 -1
- package/lib/azure-aks/lib/aks-cluster.js +1 -1
- package/lib/azure-diagnosticsettings/lib/diagnostic-settings.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/dns-forwarding-ruleset.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/forwarding-rule.js +1 -1
- package/lib/azure-dnsforwardingruleset/lib/virtual-network-link.js +1 -1
- package/lib/azure-dnsresolver/lib/dns-resolver.js +1 -1
- package/lib/azure-dnsresolver/lib/inbound-endpoint.js +1 -1
- package/lib/azure-dnsresolver/lib/outbound-endpoint.js +1 -1
- package/lib/azure-dnszone/lib/dns-zone.js +1 -1
- package/lib/azure-dnszone/lib/index.d.ts +1 -0
- package/lib/azure-dnszone/lib/index.js +2 -1
- package/lib/azure-dnszone/lib/records/dns-record-schemas.d.ts +68 -0
- package/lib/azure-dnszone/lib/records/dns-record-schemas.js +813 -0
- package/lib/azure-dnszone/lib/records/dns-records.d.ts +688 -0
- package/lib/azure-dnszone/lib/records/dns-records.js +924 -0
- package/lib/azure-dnszone/lib/records/index.d.ts +19 -0
- package/lib/azure-dnszone/lib/records/index.js +38 -0
- package/lib/azure-dnszone/test/dns-records.integ.d.ts +21 -0
- package/lib/azure-dnszone/test/dns-records.integ.js +321 -0
- package/lib/azure-dnszone/test/dns-records.spec.d.ts +20 -0
- package/lib/azure-dnszone/test/dns-records.spec.js +950 -0
- package/lib/azure-loganalyticsworkspace/index.d.ts +6 -0
- package/lib/azure-loganalyticsworkspace/index.js +23 -0
- package/lib/azure-loganalyticsworkspace/lib/index.d.ts +5 -0
- package/lib/azure-loganalyticsworkspace/lib/index.js +22 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.d.ts +51 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace-schemas.js +255 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.d.ts +301 -0
- package/lib/azure-loganalyticsworkspace/lib/log-analytics-workspace.js +213 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.d.ts +9 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.integ.js +71 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.d.ts +8 -0
- package/lib/azure-loganalyticsworkspace/test/log-analytics-workspace.spec.js +504 -0
- package/lib/azure-metricalert/lib/metric-alert.js +1 -1
- package/lib/azure-networkinterface/lib/network-interface.js +1 -1
- package/lib/azure-networksecuritygroup/lib/network-security-group.js +1 -1
- package/lib/azure-networkwatcher/index.d.ts +14 -0
- package/lib/azure-networkwatcher/index.js +31 -0
- package/lib/azure-networkwatcher/lib/index.d.ts +5 -0
- package/lib/azure-networkwatcher/lib/index.js +22 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.d.ts +47 -0
- package/lib/azure-networkwatcher/lib/network-watcher-schemas.js +167 -0
- package/lib/azure-networkwatcher/lib/network-watcher.d.ts +181 -0
- package/lib/azure-networkwatcher/lib/network-watcher.js +187 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.d.ts +12 -0
- package/lib/azure-networkwatcher/test/network-watcher.integ.js +84 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.d.ts +8 -0
- package/lib/azure-networkwatcher/test/network-watcher.spec.js +312 -0
- package/lib/azure-policyassignment/lib/policy-assignment.js +1 -1
- package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
- package/lib/azure-policysetdefinition/index.d.ts +10 -0
- package/lib/azure-policysetdefinition/index.js +27 -0
- package/lib/azure-policysetdefinition/lib/index.d.ts +5 -0
- package/lib/azure-policysetdefinition/lib/index.js +22 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.d.ts +50 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition-schemas.js +255 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.d.ts +426 -0
- package/lib/azure-policysetdefinition/lib/policy-set-definition.js +255 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.d.ts +9 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.integ.js +56 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.d.ts +8 -0
- package/lib/azure-policysetdefinition/test/policy-set-definition.spec.js +745 -0
- package/lib/azure-privatednszone/lib/index.d.ts +1 -0
- package/lib/azure-privatednszone/lib/index.js +2 -1
- package/lib/azure-privatednszone/lib/private-dns-zone.d.ts +0 -2
- package/lib/azure-privatednszone/lib/private-dns-zone.js +6 -13
- package/lib/azure-privatednszone/lib/records/index.d.ts +7 -0
- package/lib/azure-privatednszone/lib/records/index.js +26 -0
- package/lib/azure-privatednszone/lib/records/private-dns-record-schemas.d.ts +52 -0
- package/lib/azure-privatednszone/lib/records/private-dns-record-schemas.js +683 -0
- package/lib/azure-privatednszone/lib/records/private-dns-records.d.ts +523 -0
- package/lib/azure-privatednszone/lib/records/private-dns-records.js +739 -0
- package/lib/azure-privatednszone/test/private-dns-records.integ.d.ts +19 -0
- package/lib/azure-privatednszone/test/private-dns-records.integ.js +245 -0
- package/lib/azure-privatednszone/test/private-dns-records.spec.d.ts +18 -0
- package/lib/azure-privatednszone/test/private-dns-records.spec.js +756 -0
- package/lib/azure-privatednszone/test/private-dns-zone.spec.js +5 -5
- package/lib/azure-privatednszonelink/lib/private-dns-zone-link.js +1 -1
- package/lib/azure-publicipaddress/lib/public-ip-address.js +1 -1
- package/lib/azure-resourcegroup/lib/resource-group.js +1 -1
- package/lib/azure-roleassignment/lib/role-assignment.js +1 -1
- package/lib/azure-roledefinition/lib/role-definition.js +1 -1
- package/lib/azure-storageaccount/lib/storage-account.js +1 -1
- package/lib/azure-subnet/lib/subnet.js +1 -1
- package/lib/azure-virtualmachine/lib/virtual-machine.js +1 -1
- package/lib/azure-virtualnetwork/lib/virtual-network.js +1 -1
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +2 -2
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +4 -2
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +8 -5
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +109 -1
- package/lib/azure-virtualnetworkgatewayconnection/lib/virtual-network-gateway-connection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group-static-member.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/network-group.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule-collection.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/security-admin-rule.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +1 -1
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
- package/lib/core-azure/lib/azapi/azapi-resource.js +4 -4
- 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 +1 -1
- 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/schema-mapper/schema-mapper.js +1 -1
- 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 +23 -0
- package/lib/index.js +25 -2
- package/lib/testing/index.js +2 -2
- package/lib/testing/lib/cleanup.js +1 -1
- package/lib/testing/lib/metadata.js +1 -1
- package/package.json +1 -1
|
@@ -219,7 +219,7 @@ class NetworkSecurityGroup extends azapi_resource_1.AzapiResource {
|
|
|
219
219
|
}
|
|
220
220
|
exports.NetworkSecurityGroup = NetworkSecurityGroup;
|
|
221
221
|
_a = JSII_RTTI_SYMBOL_1;
|
|
222
|
-
NetworkSecurityGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkSecurityGroup", version: "1.
|
|
222
|
+
NetworkSecurityGroup[_a] = { fqn: "@microsoft/terraform-cdk-constructs.NetworkSecurityGroup", version: "1.9.0" };
|
|
223
223
|
(() => {
|
|
224
224
|
azapi_resource_1.AzapiResource.registerSchemas(network_security_group_schemas_1.NETWORK_SECURITY_GROUP_TYPE, network_security_group_schemas_1.ALL_NETWORK_SECURITY_GROUP_VERSIONS);
|
|
225
225
|
})();
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Network Watcher module
|
|
3
|
+
*
|
|
4
|
+
* This module provides constructs for creating and managing Azure Network Watchers.
|
|
5
|
+
*
|
|
6
|
+
* Network Watcher is a regional service that provides network monitoring and diagnostic
|
|
7
|
+
* tools in Azure. It enables you to monitor and diagnose conditions at a network scenario
|
|
8
|
+
* level in, to, and from Azure.
|
|
9
|
+
*
|
|
10
|
+
* IMPORTANT: Azure only allows one Network Watcher per subscription per region.
|
|
11
|
+
* If you need Network Watcher functionality in multiple regions, you must create
|
|
12
|
+
* a separate Network Watcher for each region.
|
|
13
|
+
*/
|
|
14
|
+
export * from "./lib";
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Azure Network Watcher module
|
|
4
|
+
*
|
|
5
|
+
* This module provides constructs for creating and managing Azure Network Watchers.
|
|
6
|
+
*
|
|
7
|
+
* Network Watcher is a regional service that provides network monitoring and diagnostic
|
|
8
|
+
* tools in Azure. It enables you to monitor and diagnose conditions at a network scenario
|
|
9
|
+
* level in, to, and from Azure.
|
|
10
|
+
*
|
|
11
|
+
* IMPORTANT: Azure only allows one Network Watcher per subscription per region.
|
|
12
|
+
* If you need Network Watcher functionality in multiple regions, you must create
|
|
13
|
+
* a separate Network Watcher for each region.
|
|
14
|
+
*/
|
|
15
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
18
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
19
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
20
|
+
}
|
|
21
|
+
Object.defineProperty(o, k2, desc);
|
|
22
|
+
}) : (function(o, m, k, k2) {
|
|
23
|
+
if (k2 === undefined) k2 = k;
|
|
24
|
+
o[k2] = m[k];
|
|
25
|
+
}));
|
|
26
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
27
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
__exportStar(require("./lib"), exports);
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXp1cmUtbmV0d29ya3dhdGNoZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7Ozs7Ozs7R0FZRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILHdDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQXp1cmUgTmV0d29yayBXYXRjaGVyIG1vZHVsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGNvbnN0cnVjdHMgZm9yIGNyZWF0aW5nIGFuZCBtYW5hZ2luZyBBenVyZSBOZXR3b3JrIFdhdGNoZXJzLlxuICpcbiAqIE5ldHdvcmsgV2F0Y2hlciBpcyBhIHJlZ2lvbmFsIHNlcnZpY2UgdGhhdCBwcm92aWRlcyBuZXR3b3JrIG1vbml0b3JpbmcgYW5kIGRpYWdub3N0aWNcbiAqIHRvb2xzIGluIEF6dXJlLiBJdCBlbmFibGVzIHlvdSB0byBtb25pdG9yIGFuZCBkaWFnbm9zZSBjb25kaXRpb25zIGF0IGEgbmV0d29yayBzY2VuYXJpb1xuICogbGV2ZWwgaW4sIHRvLCBhbmQgZnJvbSBBenVyZS5cbiAqXG4gKiBJTVBPUlRBTlQ6IEF6dXJlIG9ubHkgYWxsb3dzIG9uZSBOZXR3b3JrIFdhdGNoZXIgcGVyIHN1YnNjcmlwdGlvbiBwZXIgcmVnaW9uLlxuICogSWYgeW91IG5lZWQgTmV0d29yayBXYXRjaGVyIGZ1bmN0aW9uYWxpdHkgaW4gbXVsdGlwbGUgcmVnaW9ucywgeW91IG11c3QgY3JlYXRlXG4gKiBhIHNlcGFyYXRlIE5ldHdvcmsgV2F0Y2hlciBmb3IgZWFjaCByZWdpb24uXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vbGliXCI7XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Azure Network Watcher construct exports
|
|
4
|
+
*/
|
|
5
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
8
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
9
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
10
|
+
}
|
|
11
|
+
Object.defineProperty(o, k2, desc);
|
|
12
|
+
}) : (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
o[k2] = m[k];
|
|
15
|
+
}));
|
|
16
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
17
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
18
|
+
};
|
|
19
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
20
|
+
__exportStar(require("./network-watcher-schemas"), exports);
|
|
21
|
+
__exportStar(require("./network-watcher"), exports);
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya3dhdGNoZXIvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRzs7Ozs7Ozs7Ozs7Ozs7OztBQUVILDREQUEwQztBQUMxQyxvREFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEF6dXJlIE5ldHdvcmsgV2F0Y2hlciBjb25zdHJ1Y3QgZXhwb3J0c1xuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL25ldHdvcmstd2F0Y2hlci1zY2hlbWFzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9uZXR3b3JrLXdhdGNoZXJcIjtcbiJdfQ==
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API schemas for Azure Network Watcher across all supported versions
|
|
3
|
+
*
|
|
4
|
+
* This file defines the complete API schemas for Microsoft.Network/networkWatchers
|
|
5
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
6
|
+
* framework for validation, transformation, and version management.
|
|
7
|
+
*
|
|
8
|
+
* IMPORTANT: Azure only allows one Network Watcher per subscription per region.
|
|
9
|
+
* Network Watcher is primarily used as a dependency for other Network Watcher features like:
|
|
10
|
+
* - Flow Logs
|
|
11
|
+
* - Connection Monitor
|
|
12
|
+
* - Packet Capture
|
|
13
|
+
* - Network Diagnostic Tools
|
|
14
|
+
*/
|
|
15
|
+
import { ApiSchema, VersionConfig } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
16
|
+
/**
|
|
17
|
+
* API Schema for Network Watcher version 2024-01-01
|
|
18
|
+
*
|
|
19
|
+
* This is the latest stable version for Network Watcher.
|
|
20
|
+
* Network Watcher is a relatively simple resource - it primarily serves as
|
|
21
|
+
* an anchor for Network Watcher features in a region.
|
|
22
|
+
*/
|
|
23
|
+
export declare const NETWORK_WATCHER_SCHEMA_2024_01_01: ApiSchema;
|
|
24
|
+
/**
|
|
25
|
+
* API Schema for Network Watcher version 2023-11-01
|
|
26
|
+
*
|
|
27
|
+
* This is a stable version for backward compatibility.
|
|
28
|
+
* Network Watcher API is very stable with minimal changes between versions.
|
|
29
|
+
*/
|
|
30
|
+
export declare const NETWORK_WATCHER_SCHEMA_2023_11_01: ApiSchema;
|
|
31
|
+
/**
|
|
32
|
+
* Version configuration for Network Watcher 2024-01-01
|
|
33
|
+
*/
|
|
34
|
+
export declare const NETWORK_WATCHER_VERSION_2024_01_01: VersionConfig;
|
|
35
|
+
/**
|
|
36
|
+
* Version configuration for Network Watcher 2023-11-01
|
|
37
|
+
*/
|
|
38
|
+
export declare const NETWORK_WATCHER_VERSION_2023_11_01: VersionConfig;
|
|
39
|
+
/**
|
|
40
|
+
* All supported Network Watcher versions for registration
|
|
41
|
+
* Ordered with latest stable version first
|
|
42
|
+
*/
|
|
43
|
+
export declare const ALL_NETWORK_WATCHER_VERSIONS: VersionConfig[];
|
|
44
|
+
/**
|
|
45
|
+
* Resource type constant
|
|
46
|
+
*/
|
|
47
|
+
export declare const NETWORK_WATCHER_TYPE = "Microsoft.Network/networkWatchers";
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* API schemas for Azure Network Watcher across all supported versions
|
|
4
|
+
*
|
|
5
|
+
* This file defines the complete API schemas for Microsoft.Network/networkWatchers
|
|
6
|
+
* across all supported API versions. The schemas are used by the AzapiResource
|
|
7
|
+
* framework for validation, transformation, and version management.
|
|
8
|
+
*
|
|
9
|
+
* IMPORTANT: Azure only allows one Network Watcher per subscription per region.
|
|
10
|
+
* Network Watcher is primarily used as a dependency for other Network Watcher features like:
|
|
11
|
+
* - Flow Logs
|
|
12
|
+
* - Connection Monitor
|
|
13
|
+
* - Packet Capture
|
|
14
|
+
* - Network Diagnostic Tools
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.NETWORK_WATCHER_TYPE = exports.ALL_NETWORK_WATCHER_VERSIONS = exports.NETWORK_WATCHER_VERSION_2023_11_01 = exports.NETWORK_WATCHER_VERSION_2024_01_01 = exports.NETWORK_WATCHER_SCHEMA_2023_11_01 = exports.NETWORK_WATCHER_SCHEMA_2024_01_01 = void 0;
|
|
18
|
+
const version_interfaces_1 = require("../../core-azure/lib/version-manager/interfaces/version-interfaces");
|
|
19
|
+
// =============================================================================
|
|
20
|
+
// COMMON PROPERTY DEFINITIONS
|
|
21
|
+
// =============================================================================
|
|
22
|
+
/**
|
|
23
|
+
* Common property definitions shared across all Network Watcher versions
|
|
24
|
+
*
|
|
25
|
+
* Network Watcher is a relatively simple resource with minimal properties.
|
|
26
|
+
* It primarily serves as an anchor for Network Watcher features (Flow Logs,
|
|
27
|
+
* Connection Monitor, Packet Capture, etc.) in a specific region.
|
|
28
|
+
*/
|
|
29
|
+
const COMMON_NETWORK_WATCHER_PROPERTIES = {
|
|
30
|
+
name: {
|
|
31
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
32
|
+
required: true,
|
|
33
|
+
description: "Name of the Network Watcher",
|
|
34
|
+
validation: [
|
|
35
|
+
{
|
|
36
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
37
|
+
message: "Name is required",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
ruleType: version_interfaces_1.ValidationRuleType.PATTERN_MATCH,
|
|
41
|
+
value: "^[a-zA-Z0-9][a-zA-Z0-9_.-]{0,78}[a-zA-Z0-9_]$",
|
|
42
|
+
message: "Network Watcher name must be 1-80 characters, start with a letter or number, end with a letter, number, or underscore, and contain only letters, numbers, underscores, periods, and hyphens",
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
},
|
|
46
|
+
location: {
|
|
47
|
+
dataType: version_interfaces_1.PropertyType.STRING,
|
|
48
|
+
required: true,
|
|
49
|
+
description: "Azure region where the Network Watcher will be created. Note: Only one Network Watcher per region per subscription is allowed.",
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
// =============================================================================
|
|
53
|
+
// VERSION-SPECIFIC SCHEMAS
|
|
54
|
+
// =============================================================================
|
|
55
|
+
/**
|
|
56
|
+
* API Schema for Network Watcher version 2024-01-01
|
|
57
|
+
*
|
|
58
|
+
* This is the latest stable version for Network Watcher.
|
|
59
|
+
* Network Watcher is a relatively simple resource - it primarily serves as
|
|
60
|
+
* an anchor for Network Watcher features in a region.
|
|
61
|
+
*/
|
|
62
|
+
exports.NETWORK_WATCHER_SCHEMA_2024_01_01 = {
|
|
63
|
+
resourceType: "Microsoft.Network/networkWatchers",
|
|
64
|
+
version: "2024-01-01",
|
|
65
|
+
properties: {
|
|
66
|
+
...COMMON_NETWORK_WATCHER_PROPERTIES,
|
|
67
|
+
},
|
|
68
|
+
required: ["name", "location"],
|
|
69
|
+
optional: [],
|
|
70
|
+
deprecated: [],
|
|
71
|
+
transformationRules: {},
|
|
72
|
+
validationRules: [
|
|
73
|
+
{
|
|
74
|
+
property: "name",
|
|
75
|
+
rules: [
|
|
76
|
+
{
|
|
77
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
78
|
+
message: "Name is required for Network Watcher",
|
|
79
|
+
},
|
|
80
|
+
],
|
|
81
|
+
},
|
|
82
|
+
],
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* API Schema for Network Watcher version 2023-11-01
|
|
86
|
+
*
|
|
87
|
+
* This is a stable version for backward compatibility.
|
|
88
|
+
* Network Watcher API is very stable with minimal changes between versions.
|
|
89
|
+
*/
|
|
90
|
+
exports.NETWORK_WATCHER_SCHEMA_2023_11_01 = {
|
|
91
|
+
resourceType: "Microsoft.Network/networkWatchers",
|
|
92
|
+
version: "2023-11-01",
|
|
93
|
+
properties: {
|
|
94
|
+
...COMMON_NETWORK_WATCHER_PROPERTIES,
|
|
95
|
+
},
|
|
96
|
+
required: ["name", "location"],
|
|
97
|
+
optional: [],
|
|
98
|
+
deprecated: [],
|
|
99
|
+
transformationRules: {},
|
|
100
|
+
validationRules: [
|
|
101
|
+
{
|
|
102
|
+
property: "name",
|
|
103
|
+
rules: [
|
|
104
|
+
{
|
|
105
|
+
ruleType: version_interfaces_1.ValidationRuleType.REQUIRED,
|
|
106
|
+
message: "Name is required for Network Watcher",
|
|
107
|
+
},
|
|
108
|
+
],
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
};
|
|
112
|
+
// =============================================================================
|
|
113
|
+
// VERSION CONFIGURATIONS
|
|
114
|
+
// =============================================================================
|
|
115
|
+
/**
|
|
116
|
+
* Version configuration for Network Watcher 2024-01-01
|
|
117
|
+
*/
|
|
118
|
+
exports.NETWORK_WATCHER_VERSION_2024_01_01 = {
|
|
119
|
+
version: "2024-01-01",
|
|
120
|
+
schema: exports.NETWORK_WATCHER_SCHEMA_2024_01_01,
|
|
121
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
122
|
+
releaseDate: "2024-01-01",
|
|
123
|
+
deprecationDate: undefined,
|
|
124
|
+
sunsetDate: undefined,
|
|
125
|
+
breakingChanges: [],
|
|
126
|
+
migrationGuide: "/docs/network-watcher/migration-2024-01-01",
|
|
127
|
+
changeLog: [
|
|
128
|
+
{
|
|
129
|
+
changeType: "updated",
|
|
130
|
+
description: "Latest stable API version",
|
|
131
|
+
breaking: false,
|
|
132
|
+
},
|
|
133
|
+
],
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Version configuration for Network Watcher 2023-11-01
|
|
137
|
+
*/
|
|
138
|
+
exports.NETWORK_WATCHER_VERSION_2023_11_01 = {
|
|
139
|
+
version: "2023-11-01",
|
|
140
|
+
schema: exports.NETWORK_WATCHER_SCHEMA_2023_11_01,
|
|
141
|
+
supportLevel: version_interfaces_1.VersionSupportLevel.ACTIVE,
|
|
142
|
+
releaseDate: "2023-11-01",
|
|
143
|
+
deprecationDate: undefined,
|
|
144
|
+
sunsetDate: undefined,
|
|
145
|
+
breakingChanges: [],
|
|
146
|
+
migrationGuide: "/docs/network-watcher/migration-2023-11-01",
|
|
147
|
+
changeLog: [
|
|
148
|
+
{
|
|
149
|
+
changeType: "updated",
|
|
150
|
+
description: "Stable API version for backward compatibility",
|
|
151
|
+
breaking: false,
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* All supported Network Watcher versions for registration
|
|
157
|
+
* Ordered with latest stable version first
|
|
158
|
+
*/
|
|
159
|
+
exports.ALL_NETWORK_WATCHER_VERSIONS = [
|
|
160
|
+
exports.NETWORK_WATCHER_VERSION_2024_01_01,
|
|
161
|
+
exports.NETWORK_WATCHER_VERSION_2023_11_01,
|
|
162
|
+
];
|
|
163
|
+
/**
|
|
164
|
+
* Resource type constant
|
|
165
|
+
*/
|
|
166
|
+
exports.NETWORK_WATCHER_TYPE = "Microsoft.Network/networkWatchers";
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay13YXRjaGVyLXNjaGVtYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXp1cmUtbmV0d29ya3dhdGNoZXIvbGliL25ldHdvcmstd2F0Y2hlci1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHOzs7QUFFSCwyR0FPNEU7QUFFNUUsZ0ZBQWdGO0FBQ2hGLDhCQUE4QjtBQUM5QixnRkFBZ0Y7QUFFaEY7Ozs7OztHQU1HO0FBQ0gsTUFBTSxpQ0FBaUMsR0FFbkM7SUFDRixJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsaUNBQVksQ0FBQyxNQUFNO1FBQzdCLFFBQVEsRUFBRSxJQUFJO1FBQ2QsV0FBVyxFQUFFLDZCQUE2QjtRQUMxQyxVQUFVLEVBQUU7WUFDVjtnQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtnQkFDckMsT0FBTyxFQUFFLGtCQUFrQjthQUM1QjtZQUNEO2dCQUNFLFFBQVEsRUFBRSx1Q0FBa0IsQ0FBQyxhQUFhO2dCQUMxQyxLQUFLLEVBQUUsK0NBQStDO2dCQUN0RCxPQUFPLEVBQ0wsNkxBQTZMO2FBQ2hNO1NBQ0Y7S0FDRjtJQUNELFFBQVEsRUFBRTtRQUNSLFFBQVEsRUFBRSxpQ0FBWSxDQUFDLE1BQU07UUFDN0IsUUFBUSxFQUFFLElBQUk7UUFDZCxXQUFXLEVBQ1QsZ0lBQWdJO0tBQ25JO0NBQ0YsQ0FBQztBQUVGLGdGQUFnRjtBQUNoRiwyQkFBMkI7QUFDM0IsZ0ZBQWdGO0FBRWhGOzs7Ozs7R0FNRztBQUNVLFFBQUEsaUNBQWlDLEdBQWM7SUFDMUQsWUFBWSxFQUFFLG1DQUFtQztJQUNqRCxPQUFPLEVBQUUsWUFBWTtJQUNyQixVQUFVLEVBQUU7UUFDVixHQUFHLGlDQUFpQztLQUNyQztJQUNELFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7SUFDOUIsUUFBUSxFQUFFLEVBQUU7SUFDWixVQUFVLEVBQUUsRUFBRTtJQUNkLG1CQUFtQixFQUFFLEVBQUU7SUFDdkIsZUFBZSxFQUFFO1FBQ2Y7WUFDRSxRQUFRLEVBQUUsTUFBTTtZQUNoQixLQUFLLEVBQUU7Z0JBQ0w7b0JBQ0UsUUFBUSxFQUFFLHVDQUFrQixDQUFDLFFBQVE7b0JBQ3JDLE9BQU8sRUFBRSxzQ0FBc0M7aUJBQ2hEO2FBQ0Y7U0FDRjtLQUNGO0NBQ0YsQ0FBQztBQUVGOzs7OztHQUtHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBYztJQUMxRCxZQUFZLEVBQUUsbUNBQW1DO0lBQ2pELE9BQU8sRUFBRSxZQUFZO0lBQ3JCLFVBQVUsRUFBRTtRQUNWLEdBQUcsaUNBQWlDO0tBQ3JDO0lBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQztJQUM5QixRQUFRLEVBQUUsRUFBRTtJQUNaLFVBQVUsRUFBRSxFQUFFO0lBQ2QsbUJBQW1CLEVBQUUsRUFBRTtJQUN2QixlQUFlLEVBQUU7UUFDZjtZQUNFLFFBQVEsRUFBRSxNQUFNO1lBQ2hCLEtBQUssRUFBRTtnQkFDTDtvQkFDRSxRQUFRLEVBQUUsdUNBQWtCLENBQUMsUUFBUTtvQkFDckMsT0FBTyxFQUFFLHNDQUFzQztpQkFDaEQ7YUFDRjtTQUNGO0tBQ0Y7Q0FDRixDQUFDO0FBRUYsZ0ZBQWdGO0FBQ2hGLHlCQUF5QjtBQUN6QixnRkFBZ0Y7QUFFaEY7O0dBRUc7QUFDVSxRQUFBLGtDQUFrQyxHQUFrQjtJQUMvRCxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUseUNBQWlDO0lBQ3pDLFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSw0Q0FBNEM7SUFDNUQsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsU0FBUztZQUNyQixXQUFXLEVBQUUsMkJBQTJCO1lBQ3hDLFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLGtDQUFrQyxHQUFrQjtJQUMvRCxPQUFPLEVBQUUsWUFBWTtJQUNyQixNQUFNLEVBQUUseUNBQWlDO0lBQ3pDLFlBQVksRUFBRSx3Q0FBbUIsQ0FBQyxNQUFNO0lBQ3hDLFdBQVcsRUFBRSxZQUFZO0lBQ3pCLGVBQWUsRUFBRSxTQUFTO0lBQzFCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLGVBQWUsRUFBRSxFQUFFO0lBQ25CLGNBQWMsRUFBRSw0Q0FBNEM7SUFDNUQsU0FBUyxFQUFFO1FBQ1Q7WUFDRSxVQUFVLEVBQUUsU0FBUztZQUNyQixXQUFXLEVBQUUsK0NBQStDO1lBQzVELFFBQVEsRUFBRSxLQUFLO1NBQ2hCO0tBQ0Y7Q0FDRixDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSw0QkFBNEIsR0FBb0I7SUFDM0QsMENBQWtDO0lBQ2xDLDBDQUFrQztDQUNuQyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBUEkgc2NoZW1hcyBmb3IgQXp1cmUgTmV0d29yayBXYXRjaGVyIGFjcm9zcyBhbGwgc3VwcG9ydGVkIHZlcnNpb25zXG4gKlxuICogVGhpcyBmaWxlIGRlZmluZXMgdGhlIGNvbXBsZXRlIEFQSSBzY2hlbWFzIGZvciBNaWNyb3NvZnQuTmV0d29yay9uZXR3b3JrV2F0Y2hlcnNcbiAqIGFjcm9zcyBhbGwgc3VwcG9ydGVkIEFQSSB2ZXJzaW9ucy4gVGhlIHNjaGVtYXMgYXJlIHVzZWQgYnkgdGhlIEF6YXBpUmVzb3VyY2VcbiAqIGZyYW1ld29yayBmb3IgdmFsaWRhdGlvbiwgdHJhbnNmb3JtYXRpb24sIGFuZCB2ZXJzaW9uIG1hbmFnZW1lbnQuXG4gKlxuICogSU1QT1JUQU5UOiBBenVyZSBvbmx5IGFsbG93cyBvbmUgTmV0d29yayBXYXRjaGVyIHBlciBzdWJzY3JpcHRpb24gcGVyIHJlZ2lvbi5cbiAqIE5ldHdvcmsgV2F0Y2hlciBpcyBwcmltYXJpbHkgdXNlZCBhcyBhIGRlcGVuZGVuY3kgZm9yIG90aGVyIE5ldHdvcmsgV2F0Y2hlciBmZWF0dXJlcyBsaWtlOlxuICogLSBGbG93IExvZ3NcbiAqIC0gQ29ubmVjdGlvbiBNb25pdG9yXG4gKiAtIFBhY2tldCBDYXB0dXJlXG4gKiAtIE5ldHdvcmsgRGlhZ25vc3RpYyBUb29sc1xuICovXG5cbmltcG9ydCB7XG4gIEFwaVNjaGVtYSxcbiAgUHJvcGVydHlEZWZpbml0aW9uLFxuICBQcm9wZXJ0eVR5cGUsXG4gIFZhbGlkYXRpb25SdWxlVHlwZSxcbiAgVmVyc2lvbkNvbmZpZyxcbiAgVmVyc2lvblN1cHBvcnRMZXZlbCxcbn0gZnJvbSBcIi4uLy4uL2NvcmUtYXp1cmUvbGliL3ZlcnNpb24tbWFuYWdlci9pbnRlcmZhY2VzL3ZlcnNpb24taW50ZXJmYWNlc1wiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ09NTU9OIFBST1BFUlRZIERFRklOSVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbW1vbiBwcm9wZXJ0eSBkZWZpbml0aW9ucyBzaGFyZWQgYWNyb3NzIGFsbCBOZXR3b3JrIFdhdGNoZXIgdmVyc2lvbnNcbiAqXG4gKiBOZXR3b3JrIFdhdGNoZXIgaXMgYSByZWxhdGl2ZWx5IHNpbXBsZSByZXNvdXJjZSB3aXRoIG1pbmltYWwgcHJvcGVydGllcy5cbiAqIEl0IHByaW1hcmlseSBzZXJ2ZXMgYXMgYW4gYW5jaG9yIGZvciBOZXR3b3JrIFdhdGNoZXIgZmVhdHVyZXMgKEZsb3cgTG9ncyxcbiAqIENvbm5lY3Rpb24gTW9uaXRvciwgUGFja2V0IENhcHR1cmUsIGV0Yy4pIGluIGEgc3BlY2lmaWMgcmVnaW9uLlxuICovXG5jb25zdCBDT01NT05fTkVUV09SS19XQVRDSEVSX1BST1BFUlRJRVM6IHtcbiAgW2tleTogc3RyaW5nXTogUHJvcGVydHlEZWZpbml0aW9uO1xufSA9IHtcbiAgbmFtZToge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIk5hbWUgb2YgdGhlIE5ldHdvcmsgV2F0Y2hlclwiLFxuICAgIHZhbGlkYXRpb246IFtcbiAgICAgIHtcbiAgICAgICAgcnVsZVR5cGU6IFZhbGlkYXRpb25SdWxlVHlwZS5SRVFVSVJFRCxcbiAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkXCIsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBydWxlVHlwZTogVmFsaWRhdGlvblJ1bGVUeXBlLlBBVFRFUk5fTUFUQ0gsXG4gICAgICAgIHZhbHVlOiBcIl5bYS16QS1aMC05XVthLXpBLVowLTlfLi1dezAsNzh9W2EtekEtWjAtOV9dJFwiLFxuICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgIFwiTmV0d29yayBXYXRjaGVyIG5hbWUgbXVzdCBiZSAxLTgwIGNoYXJhY3RlcnMsIHN0YXJ0IHdpdGggYSBsZXR0ZXIgb3IgbnVtYmVyLCBlbmQgd2l0aCBhIGxldHRlciwgbnVtYmVyLCBvciB1bmRlcnNjb3JlLCBhbmQgY29udGFpbiBvbmx5IGxldHRlcnMsIG51bWJlcnMsIHVuZGVyc2NvcmVzLCBwZXJpb2RzLCBhbmQgaHlwaGVuc1wiLFxuICAgICAgfSxcbiAgICBdLFxuICB9LFxuICBsb2NhdGlvbjoge1xuICAgIGRhdGFUeXBlOiBQcm9wZXJ0eVR5cGUuU1RSSU5HLFxuICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJBenVyZSByZWdpb24gd2hlcmUgdGhlIE5ldHdvcmsgV2F0Y2hlciB3aWxsIGJlIGNyZWF0ZWQuIE5vdGU6IE9ubHkgb25lIE5ldHdvcmsgV2F0Y2hlciBwZXIgcmVnaW9uIHBlciBzdWJzY3JpcHRpb24gaXMgYWxsb3dlZC5cIixcbiAgfSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OLVNQRUNJRklDIFNDSEVNQVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgTmV0d29yayBXYXRjaGVyIHZlcnNpb24gMjAyNC0wMS0wMVxuICpcbiAqIFRoaXMgaXMgdGhlIGxhdGVzdCBzdGFibGUgdmVyc2lvbiBmb3IgTmV0d29yayBXYXRjaGVyLlxuICogTmV0d29yayBXYXRjaGVyIGlzIGEgcmVsYXRpdmVseSBzaW1wbGUgcmVzb3VyY2UgLSBpdCBwcmltYXJpbHkgc2VydmVzIGFzXG4gKiBhbiBhbmNob3IgZm9yIE5ldHdvcmsgV2F0Y2hlciBmZWF0dXJlcyBpbiBhIHJlZ2lvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfV0FUQ0hFUl9TQ0hFTUFfMjAyNF8wMV8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya1dhdGNoZXJzXCIsXG4gIHZlcnNpb246IFwiMjAyNC0wMS0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX05FVFdPUktfV0FUQ0hFUl9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibmFtZVwiLCBcImxvY2F0aW9uXCJdLFxuICBvcHRpb25hbDogW10sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBOZXR3b3JrIFdhdGNoZXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogQVBJIFNjaGVtYSBmb3IgTmV0d29yayBXYXRjaGVyIHZlcnNpb24gMjAyMy0xMS0wMVxuICpcbiAqIFRoaXMgaXMgYSBzdGFibGUgdmVyc2lvbiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAqIE5ldHdvcmsgV2F0Y2hlciBBUEkgaXMgdmVyeSBzdGFibGUgd2l0aCBtaW5pbWFsIGNoYW5nZXMgYmV0d2VlbiB2ZXJzaW9ucy5cbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfV0FUQ0hFUl9TQ0hFTUFfMjAyM18xMV8wMTogQXBpU2NoZW1hID0ge1xuICByZXNvdXJjZVR5cGU6IFwiTWljcm9zb2Z0Lk5ldHdvcmsvbmV0d29ya1dhdGNoZXJzXCIsXG4gIHZlcnNpb246IFwiMjAyMy0xMS0wMVwiLFxuICBwcm9wZXJ0aWVzOiB7XG4gICAgLi4uQ09NTU9OX05FVFdPUktfV0FUQ0hFUl9QUk9QRVJUSUVTLFxuICB9LFxuICByZXF1aXJlZDogW1wibmFtZVwiLCBcImxvY2F0aW9uXCJdLFxuICBvcHRpb25hbDogW10sXG4gIGRlcHJlY2F0ZWQ6IFtdLFxuICB0cmFuc2Zvcm1hdGlvblJ1bGVzOiB7fSxcbiAgdmFsaWRhdGlvblJ1bGVzOiBbXG4gICAge1xuICAgICAgcHJvcGVydHk6IFwibmFtZVwiLFxuICAgICAgcnVsZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHJ1bGVUeXBlOiBWYWxpZGF0aW9uUnVsZVR5cGUuUkVRVUlSRUQsXG4gICAgICAgICAgbWVzc2FnZTogXCJOYW1lIGlzIHJlcXVpcmVkIGZvciBOZXR3b3JrIFdhdGNoZXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbn07XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBWRVJTSU9OIENPTkZJR1VSQVRJT05TXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFZlcnNpb24gY29uZmlndXJhdGlvbiBmb3IgTmV0d29yayBXYXRjaGVyIDIwMjQtMDEtMDFcbiAqL1xuZXhwb3J0IGNvbnN0IE5FVFdPUktfV0FUQ0hFUl9WRVJTSU9OXzIwMjRfMDFfMDE6IFZlcnNpb25Db25maWcgPSB7XG4gIHZlcnNpb246IFwiMjAyNC0wMS0wMVwiLFxuICBzY2hlbWE6IE5FVFdPUktfV0FUQ0hFUl9TQ0hFTUFfMjAyNF8wMV8wMSxcbiAgc3VwcG9ydExldmVsOiBWZXJzaW9uU3VwcG9ydExldmVsLkFDVElWRSxcbiAgcmVsZWFzZURhdGU6IFwiMjAyNC0wMS0wMVwiLFxuICBkZXByZWNhdGlvbkRhdGU6IHVuZGVmaW5lZCxcbiAgc3Vuc2V0RGF0ZTogdW5kZWZpbmVkLFxuICBicmVha2luZ0NoYW5nZXM6IFtdLFxuICBtaWdyYXRpb25HdWlkZTogXCIvZG9jcy9uZXR3b3JrLXdhdGNoZXIvbWlncmF0aW9uLTIwMjQtMDEtMDFcIixcbiAgY2hhbmdlTG9nOiBbXG4gICAge1xuICAgICAgY2hhbmdlVHlwZTogXCJ1cGRhdGVkXCIsXG4gICAgICBkZXNjcmlwdGlvbjogXCJMYXRlc3Qgc3RhYmxlIEFQSSB2ZXJzaW9uXCIsXG4gICAgICBicmVha2luZzogZmFsc2UsXG4gICAgfSxcbiAgXSxcbn07XG5cbi8qKlxuICogVmVyc2lvbiBjb25maWd1cmF0aW9uIGZvciBOZXR3b3JrIFdhdGNoZXIgMjAyMy0xMS0wMVxuICovXG5leHBvcnQgY29uc3QgTkVUV09SS19XQVRDSEVSX1ZFUlNJT05fMjAyM18xMV8wMTogVmVyc2lvbkNvbmZpZyA9IHtcbiAgdmVyc2lvbjogXCIyMDIzLTExLTAxXCIsXG4gIHNjaGVtYTogTkVUV09SS19XQVRDSEVSX1NDSEVNQV8yMDIzXzExXzAxLFxuICBzdXBwb3J0TGV2ZWw6IFZlcnNpb25TdXBwb3J0TGV2ZWwuQUNUSVZFLFxuICByZWxlYXNlRGF0ZTogXCIyMDIzLTExLTAxXCIsXG4gIGRlcHJlY2F0aW9uRGF0ZTogdW5kZWZpbmVkLFxuICBzdW5zZXREYXRlOiB1bmRlZmluZWQsXG4gIGJyZWFraW5nQ2hhbmdlczogW10sXG4gIG1pZ3JhdGlvbkd1aWRlOiBcIi9kb2NzL25ldHdvcmstd2F0Y2hlci9taWdyYXRpb24tMjAyMy0xMS0wMVwiLFxuICBjaGFuZ2VMb2c6IFtcbiAgICB7XG4gICAgICBjaGFuZ2VUeXBlOiBcInVwZGF0ZWRcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIlN0YWJsZSBBUEkgdmVyc2lvbiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVwiLFxuICAgICAgYnJlYWtpbmc6IGZhbHNlLFxuICAgIH0sXG4gIF0sXG59O1xuXG4vKipcbiAqIEFsbCBzdXBwb3J0ZWQgTmV0d29yayBXYXRjaGVyIHZlcnNpb25zIGZvciByZWdpc3RyYXRpb25cbiAqIE9yZGVyZWQgd2l0aCBsYXRlc3Qgc3RhYmxlIHZlcnNpb24gZmlyc3RcbiAqL1xuZXhwb3J0IGNvbnN0IEFMTF9ORVRXT1JLX1dBVENIRVJfVkVSU0lPTlM6IFZlcnNpb25Db25maWdbXSA9IFtcbiAgTkVUV09SS19XQVRDSEVSX1ZFUlNJT05fMjAyNF8wMV8wMSxcbiAgTkVUV09SS19XQVRDSEVSX1ZFUlNJT05fMjAyM18xMV8wMSxcbl07XG5cbi8qKlxuICogUmVzb3VyY2UgdHlwZSBjb25zdGFudFxuICovXG5leHBvcnQgY29uc3QgTkVUV09SS19XQVRDSEVSX1RZUEUgPSBcIk1pY3Jvc29mdC5OZXR3b3JrL25ldHdvcmtXYXRjaGVyc1wiO1xuIl19
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Unified Azure Network Watcher implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a version-aware implementation for Azure Network Watcher
|
|
5
|
+
* that automatically handles version management, schema validation, and property
|
|
6
|
+
* transformation across all supported API versions.
|
|
7
|
+
*
|
|
8
|
+
* IMPORTANT: Azure only allows one Network Watcher per subscription per region.
|
|
9
|
+
* If you attempt to create a Network Watcher in a region where one already exists,
|
|
10
|
+
* the deployment will fail.
|
|
11
|
+
*
|
|
12
|
+
* Supported API Versions:
|
|
13
|
+
* - 2024-01-01 (Active, Latest)
|
|
14
|
+
* - 2023-11-01 (Active, Backward Compatibility)
|
|
15
|
+
*
|
|
16
|
+
* Features:
|
|
17
|
+
* - Automatic latest version resolution when no version is specified
|
|
18
|
+
* - Explicit version pinning for stability requirements
|
|
19
|
+
* - Schema-driven validation and transformation
|
|
20
|
+
* - Full JSII compliance for multi-language support
|
|
21
|
+
*
|
|
22
|
+
* Network Watcher is primarily used as a dependency for other Network Watcher features:
|
|
23
|
+
* - Flow Logs
|
|
24
|
+
* - Connection Monitor
|
|
25
|
+
* - Packet Capture
|
|
26
|
+
* - Network Diagnostic Tools
|
|
27
|
+
*/
|
|
28
|
+
import * as cdktf from "cdktf";
|
|
29
|
+
import { Construct } from "constructs";
|
|
30
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
31
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
32
|
+
/**
|
|
33
|
+
* Properties for the unified Azure Network Watcher
|
|
34
|
+
*
|
|
35
|
+
* Extends AzapiResourceProps with Network Watcher specific properties.
|
|
36
|
+
*
|
|
37
|
+
* IMPORTANT: Azure only allows one Network Watcher per subscription per region.
|
|
38
|
+
* Attempting to create multiple Network Watchers in the same region will fail.
|
|
39
|
+
*/
|
|
40
|
+
export interface NetworkWatcherProps extends AzapiResourceProps {
|
|
41
|
+
/**
|
|
42
|
+
* Resource Group ID where the Network Watcher will be created
|
|
43
|
+
*
|
|
44
|
+
* The Network Watcher will be created as a child of this resource group.
|
|
45
|
+
* It's recommended to use a dedicated resource group for Network Watchers,
|
|
46
|
+
* as Azure automatically creates one named "NetworkWatcherRG" when certain
|
|
47
|
+
* network features are used.
|
|
48
|
+
*/
|
|
49
|
+
readonly resourceGroupId: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* The resource body interface for Azure Network Watcher API calls
|
|
53
|
+
*
|
|
54
|
+
* Network Watcher is a simple resource with minimal properties.
|
|
55
|
+
* The properties block is typically empty.
|
|
56
|
+
*/
|
|
57
|
+
export interface NetworkWatcherBody {
|
|
58
|
+
readonly properties: {
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Unified Azure Network Watcher implementation
|
|
64
|
+
*
|
|
65
|
+
* This class provides a single, version-aware implementation that automatically handles version
|
|
66
|
+
* resolution, schema validation, and property transformation while maintaining full JSII compliance.
|
|
67
|
+
*
|
|
68
|
+
* Network Watcher is a regional service that provides tools to monitor, diagnose, and gain
|
|
69
|
+
* insights into your network health and performance in Azure. It serves as the anchor for
|
|
70
|
+
* Network Watcher features like Flow Logs, Connection Monitor, and Packet Capture.
|
|
71
|
+
*
|
|
72
|
+
* IMPORTANT CONSTRAINT: Azure only allows one Network Watcher per subscription per region.
|
|
73
|
+
* If you need Network Watcher functionality in multiple regions, you must create a separate
|
|
74
|
+
* Network Watcher for each region.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* // Basic Network Watcher:
|
|
78
|
+
* const networkWatcher = new NetworkWatcher(this, "network-watcher", {
|
|
79
|
+
* name: "nw-eastus",
|
|
80
|
+
* location: "eastus",
|
|
81
|
+
* resourceGroupId: resourceGroup.id,
|
|
82
|
+
* });
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* // Network Watcher with specific API version:
|
|
86
|
+
* const networkWatcher = new NetworkWatcher(this, "network-watcher", {
|
|
87
|
+
* name: "nw-westus2",
|
|
88
|
+
* location: "westus2",
|
|
89
|
+
* resourceGroupId: resourceGroup.id,
|
|
90
|
+
* apiVersion: "2024-01-01",
|
|
91
|
+
* tags: {
|
|
92
|
+
* environment: "production",
|
|
93
|
+
* },
|
|
94
|
+
* });
|
|
95
|
+
*
|
|
96
|
+
* @example
|
|
97
|
+
* // Network Watcher for use with Flow Logs:
|
|
98
|
+
* const networkWatcher = new NetworkWatcher(this, "network-watcher", {
|
|
99
|
+
* name: "NetworkWatcher_eastus",
|
|
100
|
+
* location: "eastus",
|
|
101
|
+
* resourceGroupId: networkWatcherRg.id,
|
|
102
|
+
* });
|
|
103
|
+
*
|
|
104
|
+
* // Then use it with NSG Flow Logs
|
|
105
|
+
* const flowLog = new NsgFlowLog(this, "flow-log", {
|
|
106
|
+
* networkWatcherId: networkWatcher.id,
|
|
107
|
+
* // ... other properties
|
|
108
|
+
* });
|
|
109
|
+
*
|
|
110
|
+
* @stability stable
|
|
111
|
+
*/
|
|
112
|
+
export declare class NetworkWatcher extends AzapiResource {
|
|
113
|
+
/**
|
|
114
|
+
* The input properties for this Network Watcher instance
|
|
115
|
+
*/
|
|
116
|
+
readonly props: NetworkWatcherProps;
|
|
117
|
+
/**
|
|
118
|
+
* Terraform output for the Network Watcher resource ID
|
|
119
|
+
*/
|
|
120
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
121
|
+
/**
|
|
122
|
+
* Terraform output for the Network Watcher name
|
|
123
|
+
*/
|
|
124
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
125
|
+
/**
|
|
126
|
+
* Terraform output for the Network Watcher location
|
|
127
|
+
*/
|
|
128
|
+
readonly locationOutput: cdktf.TerraformOutput;
|
|
129
|
+
/**
|
|
130
|
+
* Terraform output for the Network Watcher provisioning state
|
|
131
|
+
*/
|
|
132
|
+
readonly provisioningStateOutput: cdktf.TerraformOutput;
|
|
133
|
+
/**
|
|
134
|
+
* Creates a new Azure Network Watcher using the AzapiResource framework
|
|
135
|
+
*
|
|
136
|
+
* The constructor automatically handles version resolution, schema registration,
|
|
137
|
+
* validation, and resource creation.
|
|
138
|
+
*
|
|
139
|
+
* IMPORTANT: Azure only allows one Network Watcher per subscription per region.
|
|
140
|
+
* Attempting to create a Network Watcher in a region where one already exists
|
|
141
|
+
* will result in a deployment error.
|
|
142
|
+
*
|
|
143
|
+
* @param scope - The scope in which to define this construct
|
|
144
|
+
* @param id - The unique identifier for this instance
|
|
145
|
+
* @param props - Configuration properties for the Network Watcher
|
|
146
|
+
*/
|
|
147
|
+
constructor(scope: Construct, id: string, props: NetworkWatcherProps);
|
|
148
|
+
/**
|
|
149
|
+
* Gets the default API version to use when no explicit version is specified
|
|
150
|
+
* Returns the latest stable version as the default
|
|
151
|
+
*/
|
|
152
|
+
protected defaultVersion(): string;
|
|
153
|
+
/**
|
|
154
|
+
* Gets the Azure resource type for Network Watcher
|
|
155
|
+
*/
|
|
156
|
+
protected resourceType(): string;
|
|
157
|
+
/**
|
|
158
|
+
* Gets the API schema for the resolved version
|
|
159
|
+
* Uses the framework's schema resolution to get the appropriate schema
|
|
160
|
+
*/
|
|
161
|
+
protected apiSchema(): ApiSchema;
|
|
162
|
+
/**
|
|
163
|
+
* Indicates that this resource type requires a location
|
|
164
|
+
*/
|
|
165
|
+
protected requiresLocation(): boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Creates the resource body for the Azure API call
|
|
168
|
+
*
|
|
169
|
+
* Network Watcher is a simple resource with an empty properties block.
|
|
170
|
+
* All configuration is handled at the resource level (name, location, tags).
|
|
171
|
+
*/
|
|
172
|
+
protected createResourceBody(_props: any): any;
|
|
173
|
+
/**
|
|
174
|
+
* Resolves the parent resource ID for Network Watcher
|
|
175
|
+
* Network Watcher is a top-level resource within a resource group
|
|
176
|
+
*
|
|
177
|
+
* @param props - The resource properties
|
|
178
|
+
* @returns The parent resource ID (the resource group)
|
|
179
|
+
*/
|
|
180
|
+
protected resolveParentId(props: any): string;
|
|
181
|
+
}
|