@pulumi/scm 1.0.5 → 1.0.6
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/forwardingProfile.d.ts +294 -0
- package/forwardingProfile.js +247 -0
- package/forwardingProfile.js.map +1 -0
- package/forwardingProfileDestination.d.ts +190 -0
- package/forwardingProfileDestination.js +143 -0
- package/forwardingProfileDestination.js.map +1 -0
- package/forwardingProfileRegionalAndCustomProxy.d.ts +289 -0
- package/forwardingProfileRegionalAndCustomProxy.js +192 -0
- package/forwardingProfileRegionalAndCustomProxy.js.map +1 -0
- package/forwardingProfileSourceApplication.d.ts +161 -0
- package/forwardingProfileSourceApplication.js +129 -0
- package/forwardingProfileSourceApplication.js.map +1 -0
- package/forwardingProfileUserLocation.d.ts +172 -0
- package/forwardingProfileUserLocation.js +125 -0
- package/forwardingProfileUserLocation.js.map +1 -0
- package/getAddressGroupList.d.ts +4 -4
- package/getAddressGroupList.js +4 -4
- package/getAddressList.d.ts +4 -4
- package/getAddressList.js +4 -4
- package/getAggregateInterfaceList.d.ts +2 -2
- package/getAggregateInterfaceList.js +2 -2
- package/getApplicationGroupList.d.ts +4 -4
- package/getApplicationGroupList.js +4 -4
- package/getBgpAuthProfileList.d.ts +2 -2
- package/getBgpAuthProfileList.js +2 -2
- package/getBgpRedistributionProfileList.d.ts +2 -2
- package/getBgpRedistributionProfileList.js +2 -2
- package/getBgpRouteMapList.d.ts +2 -2
- package/getBgpRouteMapList.js +2 -2
- package/getConfigMatchListList.d.ts +2 -2
- package/getConfigMatchListList.js +2 -2
- package/getDevice.d.ts +267 -0
- package/getDevice.js +82 -0
- package/getDevice.js.map +1 -0
- package/getDeviceList.d.ts +171 -0
- package/getDeviceList.js +88 -0
- package/getDeviceList.js.map +1 -0
- package/getDynamicUserGroupList.d.ts +4 -4
- package/getDynamicUserGroupList.js +4 -4
- package/getEthernetInterfaceList.d.ts +2 -2
- package/getEthernetInterfaceList.js +2 -2
- package/getForwardingProfile.d.ts +137 -0
- package/getForwardingProfile.js +92 -0
- package/getForwardingProfile.js.map +1 -0
- package/getForwardingProfileDestination.d.ts +127 -0
- package/getForwardingProfileDestination.js +82 -0
- package/getForwardingProfileDestination.js.map +1 -0
- package/getForwardingProfileDestinationList.d.ts +163 -0
- package/getForwardingProfileDestinationList.js +90 -0
- package/getForwardingProfileDestinationList.js.map +1 -0
- package/getForwardingProfileList.d.ts +163 -0
- package/getForwardingProfileList.js +90 -0
- package/getForwardingProfileList.js.map +1 -0
- package/getForwardingProfileRegionalAndCustomProxy.d.ts +157 -0
- package/getForwardingProfileRegionalAndCustomProxy.js +92 -0
- package/getForwardingProfileRegionalAndCustomProxy.js.map +1 -0
- package/getForwardingProfileRegionalAndCustomProxyList.d.ts +163 -0
- package/getForwardingProfileRegionalAndCustomProxyList.js +90 -0
- package/getForwardingProfileRegionalAndCustomProxyList.js.map +1 -0
- package/getForwardingProfileSourceApplication.d.ts +98 -0
- package/getForwardingProfileSourceApplication.js +58 -0
- package/getForwardingProfileSourceApplication.js.map +1 -0
- package/getForwardingProfileSourceApplicationList.d.ts +113 -0
- package/getForwardingProfileSourceApplicationList.js +40 -0
- package/getForwardingProfileSourceApplicationList.js.map +1 -0
- package/getForwardingProfileUserLocation.d.ts +127 -0
- package/getForwardingProfileUserLocation.js +82 -0
- package/getForwardingProfileUserLocation.js.map +1 -0
- package/getForwardingProfileUserLocationList.d.ts +163 -0
- package/getForwardingProfileUserLocationList.js +90 -0
- package/getForwardingProfileUserLocationList.js.map +1 -0
- package/getGlobalprotectMatchListList.d.ts +2 -2
- package/getGlobalprotectMatchListList.js +2 -2
- package/getHipmatchMatchListList.d.ts +2 -2
- package/getHipmatchMatchListList.js +2 -2
- package/getIptagMatchListList.d.ts +2 -2
- package/getIptagMatchListList.js +2 -2
- package/getLayer2SubinterfaceList.d.ts +2 -2
- package/getLayer2SubinterfaceList.js +2 -2
- package/getLayer3SubinterfaceList.d.ts +2 -2
- package/getLayer3SubinterfaceList.js +2 -2
- package/getLogicalRouterList.d.ts +2 -2
- package/getLogicalRouterList.js +2 -2
- package/getLoopbackInterfaceList.d.ts +2 -2
- package/getLoopbackInterfaceList.js +2 -2
- package/getServiceConnection.d.ts +4 -0
- package/getServiceConnection.js.map +1 -1
- package/getServiceList.d.ts +2 -2
- package/getServiceList.js +2 -2
- package/getSystemMatchListList.d.ts +2 -2
- package/getSystemMatchListList.js +2 -2
- package/getTunnelInterfaceList.d.ts +2 -2
- package/getTunnelInterfaceList.js +2 -2
- package/getUseridMatchListList.d.ts +2 -2
- package/getUseridMatchListList.js +2 -2
- package/getVlanInterfaceList.d.ts +2 -2
- package/getVlanInterfaceList.js +2 -2
- package/getZoneList.d.ts +2 -2
- package/getZoneList.js +2 -2
- package/index.d.ts +51 -0
- package/index.js +74 -13
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/securityRule.d.ts +27 -0
- package/securityRule.js +27 -0
- package/securityRule.js.map +1 -1
- package/serviceConnection.d.ts +12 -0
- package/serviceConnection.js +2 -0
- package/serviceConnection.js.map +1 -1
- package/types/input.d.ts +335 -1
- package/types/output.d.ts +1423 -1
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
2
|
+
import * as inputs from "./types/input";
|
|
3
|
+
import * as outputs from "./types/output";
|
|
4
|
+
/**
|
|
5
|
+
* ForwardingProfile resource
|
|
6
|
+
*
|
|
7
|
+
* ## Example Usage
|
|
8
|
+
*
|
|
9
|
+
* ```typescript
|
|
10
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
11
|
+
* import * as scm from "@pulumi/scm";
|
|
12
|
+
*
|
|
13
|
+
* // User location representing the US East office IP ranges
|
|
14
|
+
* const exampleUsEast = new scm.ForwardingProfileUserLocation("example_us_east", {
|
|
15
|
+
* folder: "Mobile Users",
|
|
16
|
+
* name: "us-east-tf",
|
|
17
|
+
* description: "Managed by Terraform - US East office user location",
|
|
18
|
+
* ipAddresses: [
|
|
19
|
+
* "10.1.0.0/16",
|
|
20
|
+
* "10.2.0.0/16",
|
|
21
|
+
* ],
|
|
22
|
+
* });
|
|
23
|
+
* // Corporate destination profile with FQDN and IP ranges
|
|
24
|
+
* const corpDestinations = new scm.ForwardingProfileDestination("corp_destinations", {
|
|
25
|
+
* folder: "Mobile Users",
|
|
26
|
+
* name: "corp-destinations-combined",
|
|
27
|
+
* description: "Managed by Terraform - Corporate FQDN and IP destinations (combined example)",
|
|
28
|
+
* fqdns: [
|
|
29
|
+
* {
|
|
30
|
+
* name: "*.corporate.com",
|
|
31
|
+
* port: 443,
|
|
32
|
+
* },
|
|
33
|
+
* {
|
|
34
|
+
* name: "api.internal.com",
|
|
35
|
+
* port: 8443,
|
|
36
|
+
* },
|
|
37
|
+
* ],
|
|
38
|
+
* ipAddresses: [
|
|
39
|
+
* {
|
|
40
|
+
* name: "10.0.0.0/8",
|
|
41
|
+
* port: 443,
|
|
42
|
+
* },
|
|
43
|
+
* {
|
|
44
|
+
* name: "172.16.0.0/12",
|
|
45
|
+
* port: 443,
|
|
46
|
+
* },
|
|
47
|
+
* ],
|
|
48
|
+
* });
|
|
49
|
+
* // Basic Global Protect proxy-based forwarding profile with a single forwarding rule
|
|
50
|
+
* const exampleGpProxyBasic = new scm.ForwardingProfile("example_gp_proxy_basic", {
|
|
51
|
+
* folder: "Mobile Users",
|
|
52
|
+
* name: "example-gp-proxy-basic",
|
|
53
|
+
* type: {
|
|
54
|
+
* globalProtectProxy: {
|
|
55
|
+
* forwardingRules: [{
|
|
56
|
+
* name: "direct-rule",
|
|
57
|
+
* connectivity: "direct",
|
|
58
|
+
* destinations: "Any",
|
|
59
|
+
* enabled: true,
|
|
60
|
+
* }],
|
|
61
|
+
* },
|
|
62
|
+
* },
|
|
63
|
+
* }, {
|
|
64
|
+
* dependsOn: [
|
|
65
|
+
* exampleUsEast,
|
|
66
|
+
* corpDestinations,
|
|
67
|
+
* ],
|
|
68
|
+
* });
|
|
69
|
+
* // Global Protect proxy-based forwarding profile with block rule and multiple forwarding rules
|
|
70
|
+
* const exampleGpProxyFull = new scm.ForwardingProfile("example_gp_proxy_full", {
|
|
71
|
+
* folder: "Mobile Users",
|
|
72
|
+
* name: "example-gp-proxy-full",
|
|
73
|
+
* description: "Managed by Terraform - GP proxy with block rule and multiple forwarding rules",
|
|
74
|
+
* type: {
|
|
75
|
+
* globalProtectProxy: {
|
|
76
|
+
* pacUpload: false,
|
|
77
|
+
* blockRule: {
|
|
78
|
+
* enable: true,
|
|
79
|
+
* allowTcp: {
|
|
80
|
+
* enableLocations: true,
|
|
81
|
+
* locations: [exampleUsEast.name],
|
|
82
|
+
* },
|
|
83
|
+
* allowUdp: {
|
|
84
|
+
* enableLocations: true,
|
|
85
|
+
* locations: [exampleUsEast.name],
|
|
86
|
+
* enableDestinations: true,
|
|
87
|
+
* destinations: "any",
|
|
88
|
+
* },
|
|
89
|
+
* },
|
|
90
|
+
* forwardingRules: [{
|
|
91
|
+
* name: "direct-rule",
|
|
92
|
+
* connectivity: "direct",
|
|
93
|
+
* destinations: corpDestinations.name,
|
|
94
|
+
* userLocations: "Any",
|
|
95
|
+
* enabled: true,
|
|
96
|
+
* }],
|
|
97
|
+
* },
|
|
98
|
+
* },
|
|
99
|
+
* }, {
|
|
100
|
+
* dependsOn: [
|
|
101
|
+
* exampleUsEast,
|
|
102
|
+
* corpDestinations,
|
|
103
|
+
* ],
|
|
104
|
+
* });
|
|
105
|
+
* // PAC file based forwarding profile
|
|
106
|
+
* const examplePacFile = new scm.ForwardingProfile("example_pac_file", {
|
|
107
|
+
* folder: "Mobile Users",
|
|
108
|
+
* name: "example-pac-file",
|
|
109
|
+
* description: "Managed by Terraform - PAC file based forwarding profile",
|
|
110
|
+
* type: {
|
|
111
|
+
* pacFile: {
|
|
112
|
+
* pacUpload: true,
|
|
113
|
+
* forwardingRules: [{
|
|
114
|
+
* name: "pac-direct-rule",
|
|
115
|
+
* connectivity: "direct",
|
|
116
|
+
* destinations: "Any",
|
|
117
|
+
* enabled: true,
|
|
118
|
+
* }],
|
|
119
|
+
* },
|
|
120
|
+
* },
|
|
121
|
+
* }, {
|
|
122
|
+
* dependsOn: [
|
|
123
|
+
* exampleUsEast,
|
|
124
|
+
* corpDestinations,
|
|
125
|
+
* ],
|
|
126
|
+
* });
|
|
127
|
+
* // ZTNA agent-based forwarding profile with block rule and forwarding rules
|
|
128
|
+
* const exampleZtnaAgent = new scm.ForwardingProfile("example_ztna_agent", {
|
|
129
|
+
* folder: "Mobile Users",
|
|
130
|
+
* name: "example-ztna-agent",
|
|
131
|
+
* description: "Managed by Terraform - ZTNA agent forwarding profile with block rule",
|
|
132
|
+
* type: {
|
|
133
|
+
* ztnaAgent: {
|
|
134
|
+
* blockRule: {
|
|
135
|
+
* blockAllOtherUnmatchedOutboundConnections: false,
|
|
136
|
+
* blockInboundAccessWhenConnectedToTunnel: false,
|
|
137
|
+
* blockNonTcpNonUdpTrafficWhenConnectedToTunnel: false,
|
|
138
|
+
* allowIcmpForTroubleshooting: false,
|
|
139
|
+
* blockOutboundLanAccessWhenConnectedToTunnel: false,
|
|
140
|
+
* enforcerFqdnDnsResolutionViaDnsServers: true,
|
|
141
|
+
* resolveAllFqdnsUsingDnsServersAssignedByTheTunnel: true,
|
|
142
|
+
* },
|
|
143
|
+
* forwardingRules: [
|
|
144
|
+
* {
|
|
145
|
+
* name: "ztna-dns-rule",
|
|
146
|
+
* connectivity: "tunnel",
|
|
147
|
+
* destinations: corpDestinations.name,
|
|
148
|
+
* sourceApplications: "Any",
|
|
149
|
+
* trafficType: "dns-and-network-traffic",
|
|
150
|
+
* userLocations: "Any",
|
|
151
|
+
* enabled: true,
|
|
152
|
+
* },
|
|
153
|
+
* {
|
|
154
|
+
* name: "ztna-direct-rule",
|
|
155
|
+
* connectivity: "direct",
|
|
156
|
+
* destinations: "Any",
|
|
157
|
+
* sourceApplications: "Any",
|
|
158
|
+
* trafficType: "network-traffic",
|
|
159
|
+
* userLocations: "Any",
|
|
160
|
+
* enabled: true,
|
|
161
|
+
* },
|
|
162
|
+
* ],
|
|
163
|
+
* },
|
|
164
|
+
* },
|
|
165
|
+
* }, {
|
|
166
|
+
* dependsOn: [corpDestinations],
|
|
167
|
+
* });
|
|
168
|
+
* ```
|
|
169
|
+
*
|
|
170
|
+
* ## Import
|
|
171
|
+
*
|
|
172
|
+
* The following command can be used to import a resource not managed by Terraform:
|
|
173
|
+
*
|
|
174
|
+
* ```sh
|
|
175
|
+
* $ pulumi import scm:index/forwardingProfile:ForwardingProfile example folder:::id
|
|
176
|
+
* ```
|
|
177
|
+
*
|
|
178
|
+
* or
|
|
179
|
+
*
|
|
180
|
+
* ```sh
|
|
181
|
+
* $ pulumi import scm:index/forwardingProfile:ForwardingProfile example :snippet::id
|
|
182
|
+
* ```
|
|
183
|
+
*
|
|
184
|
+
* or
|
|
185
|
+
*
|
|
186
|
+
* ```sh
|
|
187
|
+
* $ pulumi import scm:index/forwardingProfile:ForwardingProfile example ::device:id
|
|
188
|
+
* ```
|
|
189
|
+
*
|
|
190
|
+
* **Note:** Please provide just one of folder, snippet, or device for the import command.
|
|
191
|
+
*/
|
|
192
|
+
export declare class ForwardingProfile extends pulumi.CustomResource {
|
|
193
|
+
/**
|
|
194
|
+
* Get an existing ForwardingProfile resource's state with the given name, ID, and optional extra
|
|
195
|
+
* properties used to qualify the lookup.
|
|
196
|
+
*
|
|
197
|
+
* @param name The _unique_ name of the resulting resource.
|
|
198
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
199
|
+
* @param state Any extra arguments used during the lookup.
|
|
200
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
201
|
+
*/
|
|
202
|
+
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ForwardingProfileState, opts?: pulumi.CustomResourceOptions): ForwardingProfile;
|
|
203
|
+
/**
|
|
204
|
+
* Returns true if the given object is an instance of ForwardingProfile. This is designed to work even
|
|
205
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
206
|
+
*/
|
|
207
|
+
static isInstance(obj: any): obj is ForwardingProfile;
|
|
208
|
+
/**
|
|
209
|
+
* Enable forwarding rule for forwarding profile
|
|
210
|
+
*/
|
|
211
|
+
readonly definitionMethod: pulumi.Output<string>;
|
|
212
|
+
/**
|
|
213
|
+
* Forwarding profile description
|
|
214
|
+
*/
|
|
215
|
+
readonly description: pulumi.Output<string | undefined>;
|
|
216
|
+
/**
|
|
217
|
+
* The folder in which the resource is defined
|
|
218
|
+
*/
|
|
219
|
+
readonly folder: pulumi.Output<string>;
|
|
220
|
+
/**
|
|
221
|
+
* forwarding profile name as an alphanumeric string [ 0-9a-zA-Z._ -]
|
|
222
|
+
*/
|
|
223
|
+
readonly name: pulumi.Output<string>;
|
|
224
|
+
/**
|
|
225
|
+
* The Terraform ID.
|
|
226
|
+
*/
|
|
227
|
+
readonly tfid: pulumi.Output<string>;
|
|
228
|
+
/**
|
|
229
|
+
* Forwarding profile type configuration (PAC file, GlobalProtect proxy, or ZTNA agent)
|
|
230
|
+
*/
|
|
231
|
+
readonly type: pulumi.Output<outputs.ForwardingProfileType | undefined>;
|
|
232
|
+
/**
|
|
233
|
+
* Create a ForwardingProfile resource with the given unique name, arguments, and options.
|
|
234
|
+
*
|
|
235
|
+
* @param name The _unique_ name of the resource.
|
|
236
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
237
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
238
|
+
*/
|
|
239
|
+
constructor(name: string, args?: ForwardingProfileArgs, opts?: pulumi.CustomResourceOptions);
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Input properties used for looking up and filtering ForwardingProfile resources.
|
|
243
|
+
*/
|
|
244
|
+
export interface ForwardingProfileState {
|
|
245
|
+
/**
|
|
246
|
+
* Enable forwarding rule for forwarding profile
|
|
247
|
+
*/
|
|
248
|
+
definitionMethod?: pulumi.Input<string>;
|
|
249
|
+
/**
|
|
250
|
+
* Forwarding profile description
|
|
251
|
+
*/
|
|
252
|
+
description?: pulumi.Input<string>;
|
|
253
|
+
/**
|
|
254
|
+
* The folder in which the resource is defined
|
|
255
|
+
*/
|
|
256
|
+
folder?: pulumi.Input<string>;
|
|
257
|
+
/**
|
|
258
|
+
* forwarding profile name as an alphanumeric string [ 0-9a-zA-Z._ -]
|
|
259
|
+
*/
|
|
260
|
+
name?: pulumi.Input<string>;
|
|
261
|
+
/**
|
|
262
|
+
* The Terraform ID.
|
|
263
|
+
*/
|
|
264
|
+
tfid?: pulumi.Input<string>;
|
|
265
|
+
/**
|
|
266
|
+
* Forwarding profile type configuration (PAC file, GlobalProtect proxy, or ZTNA agent)
|
|
267
|
+
*/
|
|
268
|
+
type?: pulumi.Input<inputs.ForwardingProfileType>;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* The set of arguments for constructing a ForwardingProfile resource.
|
|
272
|
+
*/
|
|
273
|
+
export interface ForwardingProfileArgs {
|
|
274
|
+
/**
|
|
275
|
+
* Enable forwarding rule for forwarding profile
|
|
276
|
+
*/
|
|
277
|
+
definitionMethod?: pulumi.Input<string>;
|
|
278
|
+
/**
|
|
279
|
+
* Forwarding profile description
|
|
280
|
+
*/
|
|
281
|
+
description?: pulumi.Input<string>;
|
|
282
|
+
/**
|
|
283
|
+
* The folder in which the resource is defined
|
|
284
|
+
*/
|
|
285
|
+
folder?: pulumi.Input<string>;
|
|
286
|
+
/**
|
|
287
|
+
* forwarding profile name as an alphanumeric string [ 0-9a-zA-Z._ -]
|
|
288
|
+
*/
|
|
289
|
+
name?: pulumi.Input<string>;
|
|
290
|
+
/**
|
|
291
|
+
* Forwarding profile type configuration (PAC file, GlobalProtect proxy, or ZTNA agent)
|
|
292
|
+
*/
|
|
293
|
+
type?: pulumi.Input<inputs.ForwardingProfileType>;
|
|
294
|
+
}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.ForwardingProfile = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("./utilities");
|
|
8
|
+
/**
|
|
9
|
+
* ForwardingProfile resource
|
|
10
|
+
*
|
|
11
|
+
* ## Example Usage
|
|
12
|
+
*
|
|
13
|
+
* ```typescript
|
|
14
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
15
|
+
* import * as scm from "@pulumi/scm";
|
|
16
|
+
*
|
|
17
|
+
* // User location representing the US East office IP ranges
|
|
18
|
+
* const exampleUsEast = new scm.ForwardingProfileUserLocation("example_us_east", {
|
|
19
|
+
* folder: "Mobile Users",
|
|
20
|
+
* name: "us-east-tf",
|
|
21
|
+
* description: "Managed by Terraform - US East office user location",
|
|
22
|
+
* ipAddresses: [
|
|
23
|
+
* "10.1.0.0/16",
|
|
24
|
+
* "10.2.0.0/16",
|
|
25
|
+
* ],
|
|
26
|
+
* });
|
|
27
|
+
* // Corporate destination profile with FQDN and IP ranges
|
|
28
|
+
* const corpDestinations = new scm.ForwardingProfileDestination("corp_destinations", {
|
|
29
|
+
* folder: "Mobile Users",
|
|
30
|
+
* name: "corp-destinations-combined",
|
|
31
|
+
* description: "Managed by Terraform - Corporate FQDN and IP destinations (combined example)",
|
|
32
|
+
* fqdns: [
|
|
33
|
+
* {
|
|
34
|
+
* name: "*.corporate.com",
|
|
35
|
+
* port: 443,
|
|
36
|
+
* },
|
|
37
|
+
* {
|
|
38
|
+
* name: "api.internal.com",
|
|
39
|
+
* port: 8443,
|
|
40
|
+
* },
|
|
41
|
+
* ],
|
|
42
|
+
* ipAddresses: [
|
|
43
|
+
* {
|
|
44
|
+
* name: "10.0.0.0/8",
|
|
45
|
+
* port: 443,
|
|
46
|
+
* },
|
|
47
|
+
* {
|
|
48
|
+
* name: "172.16.0.0/12",
|
|
49
|
+
* port: 443,
|
|
50
|
+
* },
|
|
51
|
+
* ],
|
|
52
|
+
* });
|
|
53
|
+
* // Basic Global Protect proxy-based forwarding profile with a single forwarding rule
|
|
54
|
+
* const exampleGpProxyBasic = new scm.ForwardingProfile("example_gp_proxy_basic", {
|
|
55
|
+
* folder: "Mobile Users",
|
|
56
|
+
* name: "example-gp-proxy-basic",
|
|
57
|
+
* type: {
|
|
58
|
+
* globalProtectProxy: {
|
|
59
|
+
* forwardingRules: [{
|
|
60
|
+
* name: "direct-rule",
|
|
61
|
+
* connectivity: "direct",
|
|
62
|
+
* destinations: "Any",
|
|
63
|
+
* enabled: true,
|
|
64
|
+
* }],
|
|
65
|
+
* },
|
|
66
|
+
* },
|
|
67
|
+
* }, {
|
|
68
|
+
* dependsOn: [
|
|
69
|
+
* exampleUsEast,
|
|
70
|
+
* corpDestinations,
|
|
71
|
+
* ],
|
|
72
|
+
* });
|
|
73
|
+
* // Global Protect proxy-based forwarding profile with block rule and multiple forwarding rules
|
|
74
|
+
* const exampleGpProxyFull = new scm.ForwardingProfile("example_gp_proxy_full", {
|
|
75
|
+
* folder: "Mobile Users",
|
|
76
|
+
* name: "example-gp-proxy-full",
|
|
77
|
+
* description: "Managed by Terraform - GP proxy with block rule and multiple forwarding rules",
|
|
78
|
+
* type: {
|
|
79
|
+
* globalProtectProxy: {
|
|
80
|
+
* pacUpload: false,
|
|
81
|
+
* blockRule: {
|
|
82
|
+
* enable: true,
|
|
83
|
+
* allowTcp: {
|
|
84
|
+
* enableLocations: true,
|
|
85
|
+
* locations: [exampleUsEast.name],
|
|
86
|
+
* },
|
|
87
|
+
* allowUdp: {
|
|
88
|
+
* enableLocations: true,
|
|
89
|
+
* locations: [exampleUsEast.name],
|
|
90
|
+
* enableDestinations: true,
|
|
91
|
+
* destinations: "any",
|
|
92
|
+
* },
|
|
93
|
+
* },
|
|
94
|
+
* forwardingRules: [{
|
|
95
|
+
* name: "direct-rule",
|
|
96
|
+
* connectivity: "direct",
|
|
97
|
+
* destinations: corpDestinations.name,
|
|
98
|
+
* userLocations: "Any",
|
|
99
|
+
* enabled: true,
|
|
100
|
+
* }],
|
|
101
|
+
* },
|
|
102
|
+
* },
|
|
103
|
+
* }, {
|
|
104
|
+
* dependsOn: [
|
|
105
|
+
* exampleUsEast,
|
|
106
|
+
* corpDestinations,
|
|
107
|
+
* ],
|
|
108
|
+
* });
|
|
109
|
+
* // PAC file based forwarding profile
|
|
110
|
+
* const examplePacFile = new scm.ForwardingProfile("example_pac_file", {
|
|
111
|
+
* folder: "Mobile Users",
|
|
112
|
+
* name: "example-pac-file",
|
|
113
|
+
* description: "Managed by Terraform - PAC file based forwarding profile",
|
|
114
|
+
* type: {
|
|
115
|
+
* pacFile: {
|
|
116
|
+
* pacUpload: true,
|
|
117
|
+
* forwardingRules: [{
|
|
118
|
+
* name: "pac-direct-rule",
|
|
119
|
+
* connectivity: "direct",
|
|
120
|
+
* destinations: "Any",
|
|
121
|
+
* enabled: true,
|
|
122
|
+
* }],
|
|
123
|
+
* },
|
|
124
|
+
* },
|
|
125
|
+
* }, {
|
|
126
|
+
* dependsOn: [
|
|
127
|
+
* exampleUsEast,
|
|
128
|
+
* corpDestinations,
|
|
129
|
+
* ],
|
|
130
|
+
* });
|
|
131
|
+
* // ZTNA agent-based forwarding profile with block rule and forwarding rules
|
|
132
|
+
* const exampleZtnaAgent = new scm.ForwardingProfile("example_ztna_agent", {
|
|
133
|
+
* folder: "Mobile Users",
|
|
134
|
+
* name: "example-ztna-agent",
|
|
135
|
+
* description: "Managed by Terraform - ZTNA agent forwarding profile with block rule",
|
|
136
|
+
* type: {
|
|
137
|
+
* ztnaAgent: {
|
|
138
|
+
* blockRule: {
|
|
139
|
+
* blockAllOtherUnmatchedOutboundConnections: false,
|
|
140
|
+
* blockInboundAccessWhenConnectedToTunnel: false,
|
|
141
|
+
* blockNonTcpNonUdpTrafficWhenConnectedToTunnel: false,
|
|
142
|
+
* allowIcmpForTroubleshooting: false,
|
|
143
|
+
* blockOutboundLanAccessWhenConnectedToTunnel: false,
|
|
144
|
+
* enforcerFqdnDnsResolutionViaDnsServers: true,
|
|
145
|
+
* resolveAllFqdnsUsingDnsServersAssignedByTheTunnel: true,
|
|
146
|
+
* },
|
|
147
|
+
* forwardingRules: [
|
|
148
|
+
* {
|
|
149
|
+
* name: "ztna-dns-rule",
|
|
150
|
+
* connectivity: "tunnel",
|
|
151
|
+
* destinations: corpDestinations.name,
|
|
152
|
+
* sourceApplications: "Any",
|
|
153
|
+
* trafficType: "dns-and-network-traffic",
|
|
154
|
+
* userLocations: "Any",
|
|
155
|
+
* enabled: true,
|
|
156
|
+
* },
|
|
157
|
+
* {
|
|
158
|
+
* name: "ztna-direct-rule",
|
|
159
|
+
* connectivity: "direct",
|
|
160
|
+
* destinations: "Any",
|
|
161
|
+
* sourceApplications: "Any",
|
|
162
|
+
* trafficType: "network-traffic",
|
|
163
|
+
* userLocations: "Any",
|
|
164
|
+
* enabled: true,
|
|
165
|
+
* },
|
|
166
|
+
* ],
|
|
167
|
+
* },
|
|
168
|
+
* },
|
|
169
|
+
* }, {
|
|
170
|
+
* dependsOn: [corpDestinations],
|
|
171
|
+
* });
|
|
172
|
+
* ```
|
|
173
|
+
*
|
|
174
|
+
* ## Import
|
|
175
|
+
*
|
|
176
|
+
* The following command can be used to import a resource not managed by Terraform:
|
|
177
|
+
*
|
|
178
|
+
* ```sh
|
|
179
|
+
* $ pulumi import scm:index/forwardingProfile:ForwardingProfile example folder:::id
|
|
180
|
+
* ```
|
|
181
|
+
*
|
|
182
|
+
* or
|
|
183
|
+
*
|
|
184
|
+
* ```sh
|
|
185
|
+
* $ pulumi import scm:index/forwardingProfile:ForwardingProfile example :snippet::id
|
|
186
|
+
* ```
|
|
187
|
+
*
|
|
188
|
+
* or
|
|
189
|
+
*
|
|
190
|
+
* ```sh
|
|
191
|
+
* $ pulumi import scm:index/forwardingProfile:ForwardingProfile example ::device:id
|
|
192
|
+
* ```
|
|
193
|
+
*
|
|
194
|
+
* **Note:** Please provide just one of folder, snippet, or device for the import command.
|
|
195
|
+
*/
|
|
196
|
+
class ForwardingProfile extends pulumi.CustomResource {
|
|
197
|
+
/**
|
|
198
|
+
* Get an existing ForwardingProfile resource's state with the given name, ID, and optional extra
|
|
199
|
+
* properties used to qualify the lookup.
|
|
200
|
+
*
|
|
201
|
+
* @param name The _unique_ name of the resulting resource.
|
|
202
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
203
|
+
* @param state Any extra arguments used during the lookup.
|
|
204
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
205
|
+
*/
|
|
206
|
+
static get(name, id, state, opts) {
|
|
207
|
+
return new ForwardingProfile(name, state, { ...opts, id: id });
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Returns true if the given object is an instance of ForwardingProfile. This is designed to work even
|
|
211
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
212
|
+
*/
|
|
213
|
+
static isInstance(obj) {
|
|
214
|
+
if (obj === undefined || obj === null) {
|
|
215
|
+
return false;
|
|
216
|
+
}
|
|
217
|
+
return obj['__pulumiType'] === ForwardingProfile.__pulumiType;
|
|
218
|
+
}
|
|
219
|
+
constructor(name, argsOrState, opts) {
|
|
220
|
+
let resourceInputs = {};
|
|
221
|
+
opts = opts || {};
|
|
222
|
+
if (opts.id) {
|
|
223
|
+
const state = argsOrState;
|
|
224
|
+
resourceInputs["definitionMethod"] = state?.definitionMethod;
|
|
225
|
+
resourceInputs["description"] = state?.description;
|
|
226
|
+
resourceInputs["folder"] = state?.folder;
|
|
227
|
+
resourceInputs["name"] = state?.name;
|
|
228
|
+
resourceInputs["tfid"] = state?.tfid;
|
|
229
|
+
resourceInputs["type"] = state?.type;
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
const args = argsOrState;
|
|
233
|
+
resourceInputs["definitionMethod"] = args?.definitionMethod;
|
|
234
|
+
resourceInputs["description"] = args?.description;
|
|
235
|
+
resourceInputs["folder"] = args?.folder;
|
|
236
|
+
resourceInputs["name"] = args?.name;
|
|
237
|
+
resourceInputs["type"] = args?.type;
|
|
238
|
+
resourceInputs["tfid"] = undefined /*out*/;
|
|
239
|
+
}
|
|
240
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
241
|
+
super(ForwardingProfile.__pulumiType, name, resourceInputs, opts);
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
exports.ForwardingProfile = ForwardingProfile;
|
|
245
|
+
/** @internal */
|
|
246
|
+
ForwardingProfile.__pulumiType = 'scm:index/forwardingProfile:ForwardingProfile';
|
|
247
|
+
//# sourceMappingURL=forwardingProfile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"forwardingProfile.js","sourceRoot":"","sources":["../forwardingProfile.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AAGzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2LG;AACH,MAAa,iBAAkB,SAAQ,MAAM,CAAC,cAAc;IACxD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA8B,EAAE,IAAmC;QAC5H,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;IAmCD,YAAY,IAAY,EAAE,WAA4D,EAAE,IAAmC;QACvH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAiD,CAAC;YAChE,cAAc,CAAC,kBAAkB,CAAC,GAAG,KAAK,EAAE,gBAAgB,CAAC;YAC7D,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;SACxC;aAAM;YACH,MAAM,IAAI,GAAG,WAAgD,CAAC;YAC9D,cAAc,CAAC,kBAAkB,CAAC,GAAG,IAAI,EAAE,gBAAgB,CAAC;YAC5D,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SAC9C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,iBAAiB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;;AAnFL,8CAoFC;AAtEG,gBAAgB;AACO,8BAAY,GAAG,+CAA+C,CAAC"}
|