@microsoft/terraform-cdk-constructs 1.3.1 → 1.5.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 +32238 -27310
- package/API.md +43714 -35942
- 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-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-policyassignment/lib/policy-assignment.js +1 -1
- package/lib/azure-policydefinition/lib/policy-definition.js +1 -1
- package/lib/azure-privatednszone/lib/private-dns-zone.js +1 -1
- 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/index.d.ts +4 -0
- package/lib/azure-virtualnetworkgateway/index.js +21 -0
- package/lib/azure-virtualnetworkgateway/lib/index.d.ts +5 -0
- package/lib/azure-virtualnetworkgateway/lib/index.js +22 -0
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway-schemas.js +298 -0
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.d.ts +368 -0
- package/lib/azure-virtualnetworkgateway/lib/virtual-network-gateway.js +285 -0
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.d.ts +12 -0
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.integ.js +129 -0
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.d.ts +8 -0
- package/lib/azure-virtualnetworkgateway/test/virtual-network-gateway.spec.js +691 -0
- package/lib/azure-virtualnetworkmanager/lib/connectivity-configuration.js +1 -1
- package/lib/azure-virtualnetworkmanager/lib/index.d.ts +5 -0
- package/lib/azure-virtualnetworkmanager/lib/index.js +6 -1
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-schemas.d.ts +24 -0
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-schemas.js +169 -0
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr-schemas.d.ts +32 -0
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr-schemas.js +206 -0
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.d.ts +170 -0
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool-static-cidr.js +214 -0
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.d.ts +175 -0
- package/lib/azure-virtualnetworkmanager/lib/ipam-pool.js +206 -0
- 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/utils/cidr-validator.d.ts +225 -0
- package/lib/azure-virtualnetworkmanager/lib/utils/cidr-validator.js +389 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.d.ts +56 -0
- package/lib/azure-virtualnetworkmanager/lib/virtual-network-manager.js +29 -2
- package/lib/azure-virtualnetworkmanager/test/cidr-validator.spec.d.ts +6 -0
- package/lib/azure-virtualnetworkmanager/test/cidr-validator.spec.js +292 -0
- package/lib/azure-virtualnetworkmanager/test/ipam-pool-static-cidr.spec.d.ts +6 -0
- package/lib/azure-virtualnetworkmanager/test/ipam-pool-static-cidr.spec.js +430 -0
- package/lib/azure-virtualnetworkmanager/test/ipam-pool.spec.d.ts +6 -0
- package/lib/azure-virtualnetworkmanager/test/ipam-pool.spec.js +372 -0
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.d.ts +2 -1
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.integ.js +30 -3
- package/lib/azure-virtualnetworkmanager/test/virtual-network-manager.spec.js +105 -1
- package/lib/azure-vmss/lib/virtual-machine-scale-set.js +1 -1
- package/lib/core-azure/lib/azapi/azapi-resource.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 +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 +2 -0
- package/lib/index.js +4 -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
|
@@ -0,0 +1,368 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Azure Virtual Network Gateway implementation using AzapiResource framework
|
|
3
|
+
*
|
|
4
|
+
* This class provides a unified implementation for Azure Virtual Network Gateways that
|
|
5
|
+
* automatically handles version management, schema validation, and property
|
|
6
|
+
* transformation across all supported API versions.
|
|
7
|
+
*
|
|
8
|
+
* Supported API Versions:
|
|
9
|
+
* - 2024-01-01 (Active)
|
|
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
|
+
* - Full backward compatibility
|
|
17
|
+
* - JSII compliance for multi-language support
|
|
18
|
+
*/
|
|
19
|
+
import * as cdktf from "cdktf";
|
|
20
|
+
import { Construct } from "constructs";
|
|
21
|
+
import { AzapiResource, AzapiResourceProps } from "../../core-azure/lib/azapi/azapi-resource";
|
|
22
|
+
import { ApiSchema } from "../../core-azure/lib/version-manager/interfaces/version-interfaces";
|
|
23
|
+
/**
|
|
24
|
+
* SKU configuration for Virtual Network Gateway
|
|
25
|
+
*/
|
|
26
|
+
export interface VirtualNetworkGatewaySku {
|
|
27
|
+
/**
|
|
28
|
+
* Name of the SKU
|
|
29
|
+
* @example "Basic", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ"
|
|
30
|
+
*/
|
|
31
|
+
readonly name: string;
|
|
32
|
+
/**
|
|
33
|
+
* Tier of the SKU
|
|
34
|
+
* @example "Basic", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ"
|
|
35
|
+
*/
|
|
36
|
+
readonly tier: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* IP configuration for Virtual Network Gateway
|
|
40
|
+
*/
|
|
41
|
+
export interface VirtualNetworkGatewayIpConfiguration {
|
|
42
|
+
/**
|
|
43
|
+
* Name of the IP configuration
|
|
44
|
+
*/
|
|
45
|
+
readonly name: string;
|
|
46
|
+
/**
|
|
47
|
+
* Private IP allocation method
|
|
48
|
+
* @defaultValue "Dynamic"
|
|
49
|
+
*/
|
|
50
|
+
readonly privateIPAllocationMethod?: string;
|
|
51
|
+
/**
|
|
52
|
+
* ID of the subnet to use (must be GatewaySubnet)
|
|
53
|
+
*/
|
|
54
|
+
readonly subnetId: string;
|
|
55
|
+
/**
|
|
56
|
+
* ID of the public IP address to use
|
|
57
|
+
*/
|
|
58
|
+
readonly publicIPAddressId: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* BGP settings for Virtual Network Gateway
|
|
62
|
+
*/
|
|
63
|
+
export interface VirtualNetworkGatewayBgpSettings {
|
|
64
|
+
/**
|
|
65
|
+
* BGP ASN (Autonomous System Number)
|
|
66
|
+
* @example 65515
|
|
67
|
+
*/
|
|
68
|
+
readonly asn?: number;
|
|
69
|
+
/**
|
|
70
|
+
* BGP peering address
|
|
71
|
+
*/
|
|
72
|
+
readonly bgpPeeringAddress?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Weight added to routes learned from this BGP speaker
|
|
75
|
+
*/
|
|
76
|
+
readonly peerWeight?: number;
|
|
77
|
+
/**
|
|
78
|
+
* BGP peering addresses for active-active configuration
|
|
79
|
+
*/
|
|
80
|
+
readonly bgpPeeringAddresses?: any[];
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* VPN client address pool configuration
|
|
84
|
+
*/
|
|
85
|
+
export interface VirtualNetworkGatewayVpnClientAddressPool {
|
|
86
|
+
/**
|
|
87
|
+
* List of address prefixes for VPN client connections
|
|
88
|
+
*/
|
|
89
|
+
readonly addressPrefixes: string[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* VPN client configuration for point-to-site connections
|
|
93
|
+
*/
|
|
94
|
+
export interface VirtualNetworkGatewayVpnClientConfiguration {
|
|
95
|
+
/**
|
|
96
|
+
* VPN client address pool
|
|
97
|
+
*/
|
|
98
|
+
readonly vpnClientAddressPool?: VirtualNetworkGatewayVpnClientAddressPool;
|
|
99
|
+
/**
|
|
100
|
+
* VPN client protocols
|
|
101
|
+
* @example ["IkeV2", "SSTP", "OpenVPN"]
|
|
102
|
+
*/
|
|
103
|
+
readonly vpnClientProtocols?: string[];
|
|
104
|
+
/**
|
|
105
|
+
* VPN client root certificates
|
|
106
|
+
*/
|
|
107
|
+
readonly vpnClientRootCertificates?: any[];
|
|
108
|
+
/**
|
|
109
|
+
* VPN client revoked certificates
|
|
110
|
+
*/
|
|
111
|
+
readonly vpnClientRevokedCertificates?: any[];
|
|
112
|
+
/**
|
|
113
|
+
* Radius server address
|
|
114
|
+
*/
|
|
115
|
+
readonly radiusServerAddress?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Radius server secret
|
|
118
|
+
*/
|
|
119
|
+
readonly radiusServerSecret?: string;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Custom routes configuration
|
|
123
|
+
*/
|
|
124
|
+
export interface VirtualNetworkGatewayCustomRoutes {
|
|
125
|
+
/**
|
|
126
|
+
* List of address prefixes
|
|
127
|
+
*/
|
|
128
|
+
readonly addressPrefixes?: string[];
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Gateway default site reference
|
|
132
|
+
*/
|
|
133
|
+
export interface VirtualNetworkGatewayDefaultSite {
|
|
134
|
+
/**
|
|
135
|
+
* Resource ID of the local network gateway to use as default site
|
|
136
|
+
*/
|
|
137
|
+
readonly id: string;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Properties for the Azure Virtual Network Gateway
|
|
141
|
+
*
|
|
142
|
+
* Extends AzapiResourceProps with Virtual Network Gateway specific properties
|
|
143
|
+
*/
|
|
144
|
+
export interface VirtualNetworkGatewayProps extends AzapiResourceProps {
|
|
145
|
+
/**
|
|
146
|
+
* Gateway type
|
|
147
|
+
* Must be either "Vpn" or "ExpressRoute"
|
|
148
|
+
*/
|
|
149
|
+
readonly gatewayType: "Vpn" | "ExpressRoute";
|
|
150
|
+
/**
|
|
151
|
+
* VPN type for VPN gateways
|
|
152
|
+
* @defaultValue "RouteBased"
|
|
153
|
+
*/
|
|
154
|
+
readonly vpnType?: "RouteBased" | "PolicyBased";
|
|
155
|
+
/**
|
|
156
|
+
* SKU configuration for the gateway
|
|
157
|
+
*/
|
|
158
|
+
readonly sku: VirtualNetworkGatewaySku;
|
|
159
|
+
/**
|
|
160
|
+
* IP configurations for the gateway
|
|
161
|
+
* At least one IP configuration is required
|
|
162
|
+
* Two IP configurations are required for active-active mode
|
|
163
|
+
*/
|
|
164
|
+
readonly ipConfigurations: VirtualNetworkGatewayIpConfiguration[];
|
|
165
|
+
/**
|
|
166
|
+
* Enable BGP for the gateway
|
|
167
|
+
* @defaultValue false
|
|
168
|
+
*/
|
|
169
|
+
readonly enableBgp?: boolean;
|
|
170
|
+
/**
|
|
171
|
+
* Enable active-active mode for the gateway
|
|
172
|
+
* Requires two IP configurations
|
|
173
|
+
* @defaultValue false
|
|
174
|
+
*/
|
|
175
|
+
readonly activeActive?: boolean;
|
|
176
|
+
/**
|
|
177
|
+
* BGP settings for the gateway
|
|
178
|
+
* Required if enableBgp is true
|
|
179
|
+
*/
|
|
180
|
+
readonly bgpSettings?: VirtualNetworkGatewayBgpSettings;
|
|
181
|
+
/**
|
|
182
|
+
* VPN gateway generation
|
|
183
|
+
* @example "Generation1", "Generation2"
|
|
184
|
+
*/
|
|
185
|
+
readonly vpnGatewayGeneration?: string;
|
|
186
|
+
/**
|
|
187
|
+
* Custom routes for the gateway
|
|
188
|
+
*/
|
|
189
|
+
readonly customRoutes?: VirtualNetworkGatewayCustomRoutes;
|
|
190
|
+
/**
|
|
191
|
+
* Enable private IP address for the gateway
|
|
192
|
+
* @defaultValue false
|
|
193
|
+
*/
|
|
194
|
+
readonly enablePrivateIpAddress?: boolean;
|
|
195
|
+
/**
|
|
196
|
+
* Default site for force tunneling
|
|
197
|
+
*/
|
|
198
|
+
readonly gatewayDefaultSite?: VirtualNetworkGatewayDefaultSite;
|
|
199
|
+
/**
|
|
200
|
+
* VPN client configuration for point-to-site connections
|
|
201
|
+
*/
|
|
202
|
+
readonly vpnClientConfiguration?: VirtualNetworkGatewayVpnClientConfiguration;
|
|
203
|
+
/**
|
|
204
|
+
* Resource group ID where the Gateway will be created
|
|
205
|
+
* Optional - will use the subscription scope if not provided
|
|
206
|
+
*/
|
|
207
|
+
readonly resourceGroupId?: string;
|
|
208
|
+
/**
|
|
209
|
+
* The lifecycle rules to ignore changes
|
|
210
|
+
* Useful for properties that are externally managed
|
|
211
|
+
*
|
|
212
|
+
* @example ["tags"]
|
|
213
|
+
*/
|
|
214
|
+
readonly ignoreChanges?: string[];
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Azure Virtual Network Gateway implementation
|
|
218
|
+
*
|
|
219
|
+
* This class provides a single, version-aware implementation that replaces
|
|
220
|
+
* version-specific Virtual Network Gateway classes. It automatically handles version
|
|
221
|
+
* resolution, schema validation, and property transformation while maintaining
|
|
222
|
+
* full backward compatibility.
|
|
223
|
+
*
|
|
224
|
+
* Virtual Network Gateways are used to send encrypted traffic between Azure virtual
|
|
225
|
+
* networks and on-premises locations over the public Internet (VPN) or through
|
|
226
|
+
* Azure ExpressRoute circuits (ExpressRoute).
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* // Basic VPN Gateway:
|
|
230
|
+
* const vpnGateway = new VirtualNetworkGateway(this, "vpnGateway", {
|
|
231
|
+
* name: "my-vpn-gateway",
|
|
232
|
+
* location: "eastus",
|
|
233
|
+
* resourceGroupId: resourceGroup.id,
|
|
234
|
+
* gatewayType: "Vpn",
|
|
235
|
+
* vpnType: "RouteBased",
|
|
236
|
+
* sku: {
|
|
237
|
+
* name: "VpnGw1",
|
|
238
|
+
* tier: "VpnGw1"
|
|
239
|
+
* },
|
|
240
|
+
* ipConfigurations: [{
|
|
241
|
+
* name: "default",
|
|
242
|
+
* subnetId: gatewaySubnet.id,
|
|
243
|
+
* publicIPAddressId: publicIp.id
|
|
244
|
+
* }]
|
|
245
|
+
* });
|
|
246
|
+
*
|
|
247
|
+
* @example
|
|
248
|
+
* // VPN Gateway with BGP:
|
|
249
|
+
* const vpnGateway = new VirtualNetworkGateway(this, "vpnGateway", {
|
|
250
|
+
* name: "my-vpn-gateway-bgp",
|
|
251
|
+
* location: "eastus",
|
|
252
|
+
* resourceGroupId: resourceGroup.id,
|
|
253
|
+
* gatewayType: "Vpn",
|
|
254
|
+
* vpnType: "RouteBased",
|
|
255
|
+
* sku: {
|
|
256
|
+
* name: "VpnGw1",
|
|
257
|
+
* tier: "VpnGw1"
|
|
258
|
+
* },
|
|
259
|
+
* enableBgp: true,
|
|
260
|
+
* bgpSettings: {
|
|
261
|
+
* asn: 65515,
|
|
262
|
+
* peerWeight: 0
|
|
263
|
+
* },
|
|
264
|
+
* ipConfigurations: [{
|
|
265
|
+
* name: "default",
|
|
266
|
+
* subnetId: gatewaySubnet.id,
|
|
267
|
+
* publicIPAddressId: publicIp.id
|
|
268
|
+
* }]
|
|
269
|
+
* });
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* // Active-Active VPN Gateway:
|
|
273
|
+
* const vpnGateway = new VirtualNetworkGateway(this, "vpnGateway", {
|
|
274
|
+
* name: "my-vpn-gateway-aa",
|
|
275
|
+
* location: "eastus",
|
|
276
|
+
* resourceGroupId: resourceGroup.id,
|
|
277
|
+
* gatewayType: "Vpn",
|
|
278
|
+
* vpnType: "RouteBased",
|
|
279
|
+
* sku: {
|
|
280
|
+
* name: "VpnGw1",
|
|
281
|
+
* tier: "VpnGw1"
|
|
282
|
+
* },
|
|
283
|
+
* activeActive: true,
|
|
284
|
+
* ipConfigurations: [
|
|
285
|
+
* {
|
|
286
|
+
* name: "config1",
|
|
287
|
+
* subnetId: gatewaySubnet.id,
|
|
288
|
+
* publicIPAddressId: publicIp1.id
|
|
289
|
+
* },
|
|
290
|
+
* {
|
|
291
|
+
* name: "config2",
|
|
292
|
+
* subnetId: gatewaySubnet.id,
|
|
293
|
+
* publicIPAddressId: publicIp2.id
|
|
294
|
+
* }
|
|
295
|
+
* ]
|
|
296
|
+
* });
|
|
297
|
+
*
|
|
298
|
+
* @stability stable
|
|
299
|
+
*/
|
|
300
|
+
export declare class VirtualNetworkGateway extends AzapiResource {
|
|
301
|
+
/**
|
|
302
|
+
* The input properties for this Virtual Network Gateway instance
|
|
303
|
+
*/
|
|
304
|
+
readonly props: VirtualNetworkGatewayProps;
|
|
305
|
+
readonly idOutput: cdktf.TerraformOutput;
|
|
306
|
+
readonly nameOutput: cdktf.TerraformOutput;
|
|
307
|
+
readonly locationOutput: cdktf.TerraformOutput;
|
|
308
|
+
readonly tagsOutput: cdktf.TerraformOutput;
|
|
309
|
+
/**
|
|
310
|
+
* Creates a new Azure Virtual Network Gateway using the AzapiResource framework
|
|
311
|
+
*
|
|
312
|
+
* The constructor automatically handles version resolution, schema registration,
|
|
313
|
+
* validation, and resource creation. It maintains full backward compatibility
|
|
314
|
+
* with existing Virtual Network Gateway implementations.
|
|
315
|
+
*
|
|
316
|
+
* @param scope - The scope in which to define this construct
|
|
317
|
+
* @param id - The unique identifier for this instance
|
|
318
|
+
* @param props - Configuration properties for the Virtual Network Gateway
|
|
319
|
+
*/
|
|
320
|
+
constructor(scope: Construct, id: string, props: VirtualNetworkGatewayProps);
|
|
321
|
+
/**
|
|
322
|
+
* Gets the default API version to use when no explicit version is specified
|
|
323
|
+
* Returns the most recent stable version as the default
|
|
324
|
+
*/
|
|
325
|
+
protected defaultVersion(): string;
|
|
326
|
+
/**
|
|
327
|
+
* Gets the Azure resource type for Virtual Network Gateways
|
|
328
|
+
*/
|
|
329
|
+
protected resourceType(): string;
|
|
330
|
+
/**
|
|
331
|
+
* Gets the API schema for the resolved version
|
|
332
|
+
* Uses the framework's schema resolution to get the appropriate schema
|
|
333
|
+
*/
|
|
334
|
+
protected apiSchema(): ApiSchema;
|
|
335
|
+
/**
|
|
336
|
+
* Indicates that location is required for Virtual Network Gateways
|
|
337
|
+
*/
|
|
338
|
+
protected requiresLocation(): boolean;
|
|
339
|
+
/**
|
|
340
|
+
* Creates the resource body for the Azure API call
|
|
341
|
+
* Transforms the input properties into the JSON format expected by Azure REST API
|
|
342
|
+
*/
|
|
343
|
+
protected createResourceBody(props: any): any;
|
|
344
|
+
/**
|
|
345
|
+
* Get the subscription ID from the Virtual Network Gateway ID
|
|
346
|
+
* Extracts the subscription ID from the Azure resource ID format
|
|
347
|
+
*/
|
|
348
|
+
get subscriptionId(): string;
|
|
349
|
+
/**
|
|
350
|
+
* Get the full resource identifier for use in other Azure resources
|
|
351
|
+
* Alias for the id property to match original interface
|
|
352
|
+
*/
|
|
353
|
+
get resourceId(): string;
|
|
354
|
+
/**
|
|
355
|
+
* Add a tag to the Virtual Network Gateway
|
|
356
|
+
* Note: This modifies the construct props but requires a new deployment to take effect
|
|
357
|
+
*/
|
|
358
|
+
addTag(key: string, value: string): void;
|
|
359
|
+
/**
|
|
360
|
+
* Remove a tag from the Virtual Network Gateway
|
|
361
|
+
* Note: This modifies the construct props but requires a new deployment to take effect
|
|
362
|
+
*/
|
|
363
|
+
removeTag(key: string): void;
|
|
364
|
+
/**
|
|
365
|
+
* Applies ignore changes lifecycle rules if specified in props
|
|
366
|
+
*/
|
|
367
|
+
private _applyIgnoreChanges;
|
|
368
|
+
}
|