@quantcdn/pulumi-quant 0.1.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/.gitattributes +1 -0
- package/Pulumi.yaml +3 -0
- package/README.md +4 -0
- package/application.ts +281 -0
- package/config/index.ts +5 -0
- package/config/vars.ts +108 -0
- package/crawler.ts +493 -0
- package/crawlerSchedule.ts +214 -0
- package/cronJob.ts +215 -0
- package/domain.ts +144 -0
- package/environment.ts +287 -0
- package/getProject.ts +54 -0
- package/getProjects.ts +29 -0
- package/header.ts +97 -0
- package/index.ts +189 -0
- package/kvItem.ts +165 -0
- package/kvStore.ts +122 -0
- package/package.json +31 -0
- package/project.ts +214 -0
- package/provider.ts +128 -0
- package/ruleAuth.ts +397 -0
- package/ruleBotChallenge.ts +406 -0
- package/ruleContentFilter.ts +378 -0
- package/ruleCustomResponse.ts +420 -0
- package/ruleFunction.ts +378 -0
- package/ruleHeaders.ts +378 -0
- package/ruleProxy.ts +687 -0
- package/ruleRedirect.ts +365 -0
- package/ruleServeStatic.ts +378 -0
- package/tsconfig.json +47 -0
- package/types/index.ts +13 -0
- package/types/input.ts +585 -0
- package/types/output.ts +591 -0
- package/utilities.ts +96 -0
- package/volume.ts +210 -0
package/ruleProxy.ts
ADDED
|
@@ -0,0 +1,687 @@
|
|
|
1
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
2
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
3
|
+
|
|
4
|
+
import * as pulumi from "@pulumi/pulumi";
|
|
5
|
+
import * as inputs from "./types/input";
|
|
6
|
+
import * as outputs from "./types/output";
|
|
7
|
+
import * as utilities from "./utilities";
|
|
8
|
+
|
|
9
|
+
export class RuleProxy extends pulumi.CustomResource {
|
|
10
|
+
/**
|
|
11
|
+
* Get an existing RuleProxy resource's state with the given name, ID, and optional extra
|
|
12
|
+
* properties used to qualify the lookup.
|
|
13
|
+
*
|
|
14
|
+
* @param name The _unique_ name of the resulting resource.
|
|
15
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
16
|
+
* @param state Any extra arguments used during the lookup.
|
|
17
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
18
|
+
*/
|
|
19
|
+
public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: RuleProxyState, opts?: pulumi.CustomResourceOptions): RuleProxy {
|
|
20
|
+
return new RuleProxy(name, <any>state, { ...opts, id: id });
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/** @internal */
|
|
24
|
+
public static readonly __pulumiType = 'quant:index:RuleProxy';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Returns true if the given object is an instance of RuleProxy. This is designed to work even
|
|
28
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
29
|
+
*/
|
|
30
|
+
public static isInstance(obj: any): obj is RuleProxy {
|
|
31
|
+
if (obj === undefined || obj === null) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
return obj['__pulumiType'] === RuleProxy.__pulumiType;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Rule action
|
|
39
|
+
*/
|
|
40
|
+
declare public /*out*/ readonly action: pulumi.Output<string>;
|
|
41
|
+
declare public /*out*/ readonly actionConfig: pulumi.Output<outputs.RuleProxyActionConfig>;
|
|
42
|
+
/**
|
|
43
|
+
* Quant Cloud application container (required when applicationProxy is true)
|
|
44
|
+
*/
|
|
45
|
+
declare public readonly applicationContainer: pulumi.Output<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Quant Cloud application environment (required when applicationProxy is true)
|
|
48
|
+
*/
|
|
49
|
+
declare public readonly applicationEnvironment: pulumi.Output<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Quant Cloud application name (required when applicationProxy is true)
|
|
52
|
+
*/
|
|
53
|
+
declare public readonly applicationName: pulumi.Output<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Quant Cloud application port (required when applicationProxy is true)
|
|
56
|
+
*/
|
|
57
|
+
declare public readonly applicationPort: pulumi.Output<number>;
|
|
58
|
+
/**
|
|
59
|
+
* Enable Quant Cloud application proxy mode
|
|
60
|
+
*/
|
|
61
|
+
declare public readonly applicationProxy: pulumi.Output<boolean>;
|
|
62
|
+
/**
|
|
63
|
+
* Basic auth password
|
|
64
|
+
*/
|
|
65
|
+
declare public readonly authPass: pulumi.Output<string>;
|
|
66
|
+
/**
|
|
67
|
+
* Basic auth username
|
|
68
|
+
*/
|
|
69
|
+
declare public readonly authUser: pulumi.Output<string>;
|
|
70
|
+
/**
|
|
71
|
+
* Cache lifetime
|
|
72
|
+
*/
|
|
73
|
+
declare public readonly cacheLifetime: pulumi.Output<string>;
|
|
74
|
+
/**
|
|
75
|
+
* Country filter type (country_is, country_is_not, any)
|
|
76
|
+
*/
|
|
77
|
+
declare public readonly country: pulumi.Output<string>;
|
|
78
|
+
/**
|
|
79
|
+
* Allowed countries
|
|
80
|
+
*/
|
|
81
|
+
declare public readonly countryIs: pulumi.Output<string[]>;
|
|
82
|
+
/**
|
|
83
|
+
* Excluded countries
|
|
84
|
+
*/
|
|
85
|
+
declare public readonly countryIsNots: pulumi.Output<string[]>;
|
|
86
|
+
/**
|
|
87
|
+
* Disable SSL verification
|
|
88
|
+
*/
|
|
89
|
+
declare public readonly disableSslVerify: pulumi.Output<boolean>;
|
|
90
|
+
/**
|
|
91
|
+
* Whether rule is disabled
|
|
92
|
+
*/
|
|
93
|
+
declare public readonly disabled: pulumi.Output<boolean>;
|
|
94
|
+
/**
|
|
95
|
+
* Domain patterns (default: any)
|
|
96
|
+
*/
|
|
97
|
+
declare public readonly domains: pulumi.Output<string[]>;
|
|
98
|
+
/**
|
|
99
|
+
* Failover cache lifetime in seconds
|
|
100
|
+
*/
|
|
101
|
+
declare public readonly failoverLifetime: pulumi.Output<string>;
|
|
102
|
+
/**
|
|
103
|
+
* Enable failover mode
|
|
104
|
+
*/
|
|
105
|
+
declare public readonly failoverMode: pulumi.Output<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* Origin status codes that trigger failover
|
|
108
|
+
*/
|
|
109
|
+
declare public readonly failoverOriginStatusCodes: pulumi.Output<string[]>;
|
|
110
|
+
/**
|
|
111
|
+
* Failover TTFB threshold in milliseconds
|
|
112
|
+
*/
|
|
113
|
+
declare public readonly failoverOriginTtfb: pulumi.Output<string>;
|
|
114
|
+
/**
|
|
115
|
+
* Host header override
|
|
116
|
+
*/
|
|
117
|
+
declare public readonly host: pulumi.Output<string>;
|
|
118
|
+
/**
|
|
119
|
+
* Headers to inject
|
|
120
|
+
*/
|
|
121
|
+
declare public readonly injectHeaders: pulumi.Output<{[key: string]: string}>;
|
|
122
|
+
/**
|
|
123
|
+
* IP filter type (ip_is, ip_is_not, any)
|
|
124
|
+
*/
|
|
125
|
+
declare public readonly ip: pulumi.Output<string>;
|
|
126
|
+
/**
|
|
127
|
+
* Allowed IP addresses
|
|
128
|
+
*/
|
|
129
|
+
declare public readonly ipIs: pulumi.Output<string[]>;
|
|
130
|
+
/**
|
|
131
|
+
* Excluded IP addresses
|
|
132
|
+
*/
|
|
133
|
+
declare public readonly ipIsNots: pulumi.Output<string[]>;
|
|
134
|
+
/**
|
|
135
|
+
* Method filter type (method_is, method_is_not, any)
|
|
136
|
+
*/
|
|
137
|
+
declare public readonly method: pulumi.Output<string>;
|
|
138
|
+
/**
|
|
139
|
+
* Allowed HTTP methods
|
|
140
|
+
*/
|
|
141
|
+
declare public readonly methodIs: pulumi.Output<string[]>;
|
|
142
|
+
/**
|
|
143
|
+
* Excluded HTTP methods
|
|
144
|
+
*/
|
|
145
|
+
declare public readonly methodIsNots: pulumi.Output<string[]>;
|
|
146
|
+
/**
|
|
147
|
+
* Rule name
|
|
148
|
+
*/
|
|
149
|
+
declare public readonly name: pulumi.Output<string>;
|
|
150
|
+
/**
|
|
151
|
+
* Only proxy 404 responses
|
|
152
|
+
*/
|
|
153
|
+
declare public readonly onlyProxy404: pulumi.Output<boolean>;
|
|
154
|
+
/**
|
|
155
|
+
* Only apply with cookie
|
|
156
|
+
*/
|
|
157
|
+
declare public /*out*/ readonly onlyWithCookie: pulumi.Output<string>;
|
|
158
|
+
declare public readonly organization: pulumi.Output<string>;
|
|
159
|
+
/**
|
|
160
|
+
* Origin timeout
|
|
161
|
+
*/
|
|
162
|
+
declare public readonly originTimeout: pulumi.Output<string>;
|
|
163
|
+
declare public readonly project: pulumi.Output<string>;
|
|
164
|
+
/**
|
|
165
|
+
* Proxy alert enabled
|
|
166
|
+
*/
|
|
167
|
+
declare public readonly proxyAlertEnabled: pulumi.Output<boolean>;
|
|
168
|
+
/**
|
|
169
|
+
* Headers to strip from response
|
|
170
|
+
*/
|
|
171
|
+
declare public readonly proxyStripHeaders: pulumi.Output<string[]>;
|
|
172
|
+
/**
|
|
173
|
+
* Headers to strip from request
|
|
174
|
+
*/
|
|
175
|
+
declare public readonly proxyStripRequestHeaders: pulumi.Output<string[]>;
|
|
176
|
+
declare public readonly rule: pulumi.Output<string>;
|
|
177
|
+
/**
|
|
178
|
+
* Rule ID
|
|
179
|
+
*/
|
|
180
|
+
declare public /*out*/ readonly ruleId: pulumi.Output<string>;
|
|
181
|
+
/**
|
|
182
|
+
* Static error page content (HTML) to serve on origin errors
|
|
183
|
+
*/
|
|
184
|
+
declare public readonly staticErrorPage: pulumi.Output<string>;
|
|
185
|
+
/**
|
|
186
|
+
* Origin status codes that trigger static error page
|
|
187
|
+
*/
|
|
188
|
+
declare public readonly staticErrorPageStatusCodes: pulumi.Output<string[]>;
|
|
189
|
+
/**
|
|
190
|
+
* Target URL to proxy to
|
|
191
|
+
*/
|
|
192
|
+
declare public readonly to: pulumi.Output<string>;
|
|
193
|
+
/**
|
|
194
|
+
* URL patterns
|
|
195
|
+
*/
|
|
196
|
+
declare public readonly urls: pulumi.Output<string[]>;
|
|
197
|
+
/**
|
|
198
|
+
* Rule UUID
|
|
199
|
+
*/
|
|
200
|
+
declare public readonly uuid: pulumi.Output<string>;
|
|
201
|
+
/**
|
|
202
|
+
* Web Application Firewall configuration
|
|
203
|
+
*/
|
|
204
|
+
declare public readonly wafConfig: pulumi.Output<outputs.RuleProxyWafConfig>;
|
|
205
|
+
/**
|
|
206
|
+
* WAF enabled
|
|
207
|
+
*/
|
|
208
|
+
declare public readonly wafEnabled: pulumi.Output<boolean>;
|
|
209
|
+
/**
|
|
210
|
+
* Rule weight
|
|
211
|
+
*/
|
|
212
|
+
declare public readonly weight: pulumi.Output<number>;
|
|
213
|
+
|
|
214
|
+
/**
|
|
215
|
+
* Create a RuleProxy resource with the given unique name, arguments, and options.
|
|
216
|
+
*
|
|
217
|
+
* @param name The _unique_ name of the resource.
|
|
218
|
+
* @param args The arguments to use to populate this resource's properties.
|
|
219
|
+
* @param opts A bag of options that control this resource's behavior.
|
|
220
|
+
*/
|
|
221
|
+
constructor(name: string, args: RuleProxyArgs, opts?: pulumi.CustomResourceOptions)
|
|
222
|
+
constructor(name: string, argsOrState?: RuleProxyArgs | RuleProxyState, opts?: pulumi.CustomResourceOptions) {
|
|
223
|
+
let resourceInputs: pulumi.Inputs = {};
|
|
224
|
+
opts = opts || {};
|
|
225
|
+
if (opts.id) {
|
|
226
|
+
const state = argsOrState as RuleProxyState | undefined;
|
|
227
|
+
resourceInputs["action"] = state?.action;
|
|
228
|
+
resourceInputs["actionConfig"] = state?.actionConfig;
|
|
229
|
+
resourceInputs["applicationContainer"] = state?.applicationContainer;
|
|
230
|
+
resourceInputs["applicationEnvironment"] = state?.applicationEnvironment;
|
|
231
|
+
resourceInputs["applicationName"] = state?.applicationName;
|
|
232
|
+
resourceInputs["applicationPort"] = state?.applicationPort;
|
|
233
|
+
resourceInputs["applicationProxy"] = state?.applicationProxy;
|
|
234
|
+
resourceInputs["authPass"] = state?.authPass;
|
|
235
|
+
resourceInputs["authUser"] = state?.authUser;
|
|
236
|
+
resourceInputs["cacheLifetime"] = state?.cacheLifetime;
|
|
237
|
+
resourceInputs["country"] = state?.country;
|
|
238
|
+
resourceInputs["countryIs"] = state?.countryIs;
|
|
239
|
+
resourceInputs["countryIsNots"] = state?.countryIsNots;
|
|
240
|
+
resourceInputs["disableSslVerify"] = state?.disableSslVerify;
|
|
241
|
+
resourceInputs["disabled"] = state?.disabled;
|
|
242
|
+
resourceInputs["domains"] = state?.domains;
|
|
243
|
+
resourceInputs["failoverLifetime"] = state?.failoverLifetime;
|
|
244
|
+
resourceInputs["failoverMode"] = state?.failoverMode;
|
|
245
|
+
resourceInputs["failoverOriginStatusCodes"] = state?.failoverOriginStatusCodes;
|
|
246
|
+
resourceInputs["failoverOriginTtfb"] = state?.failoverOriginTtfb;
|
|
247
|
+
resourceInputs["host"] = state?.host;
|
|
248
|
+
resourceInputs["injectHeaders"] = state?.injectHeaders;
|
|
249
|
+
resourceInputs["ip"] = state?.ip;
|
|
250
|
+
resourceInputs["ipIs"] = state?.ipIs;
|
|
251
|
+
resourceInputs["ipIsNots"] = state?.ipIsNots;
|
|
252
|
+
resourceInputs["method"] = state?.method;
|
|
253
|
+
resourceInputs["methodIs"] = state?.methodIs;
|
|
254
|
+
resourceInputs["methodIsNots"] = state?.methodIsNots;
|
|
255
|
+
resourceInputs["name"] = state?.name;
|
|
256
|
+
resourceInputs["onlyProxy404"] = state?.onlyProxy404;
|
|
257
|
+
resourceInputs["onlyWithCookie"] = state?.onlyWithCookie;
|
|
258
|
+
resourceInputs["organization"] = state?.organization;
|
|
259
|
+
resourceInputs["originTimeout"] = state?.originTimeout;
|
|
260
|
+
resourceInputs["project"] = state?.project;
|
|
261
|
+
resourceInputs["proxyAlertEnabled"] = state?.proxyAlertEnabled;
|
|
262
|
+
resourceInputs["proxyStripHeaders"] = state?.proxyStripHeaders;
|
|
263
|
+
resourceInputs["proxyStripRequestHeaders"] = state?.proxyStripRequestHeaders;
|
|
264
|
+
resourceInputs["rule"] = state?.rule;
|
|
265
|
+
resourceInputs["ruleId"] = state?.ruleId;
|
|
266
|
+
resourceInputs["staticErrorPage"] = state?.staticErrorPage;
|
|
267
|
+
resourceInputs["staticErrorPageStatusCodes"] = state?.staticErrorPageStatusCodes;
|
|
268
|
+
resourceInputs["to"] = state?.to;
|
|
269
|
+
resourceInputs["urls"] = state?.urls;
|
|
270
|
+
resourceInputs["uuid"] = state?.uuid;
|
|
271
|
+
resourceInputs["wafConfig"] = state?.wafConfig;
|
|
272
|
+
resourceInputs["wafEnabled"] = state?.wafEnabled;
|
|
273
|
+
resourceInputs["weight"] = state?.weight;
|
|
274
|
+
} else {
|
|
275
|
+
const args = argsOrState as RuleProxyArgs | undefined;
|
|
276
|
+
if (args?.domains === undefined && !opts.urn) {
|
|
277
|
+
throw new Error("Missing required property 'domains'");
|
|
278
|
+
}
|
|
279
|
+
if (args?.to === undefined && !opts.urn) {
|
|
280
|
+
throw new Error("Missing required property 'to'");
|
|
281
|
+
}
|
|
282
|
+
if (args?.urls === undefined && !opts.urn) {
|
|
283
|
+
throw new Error("Missing required property 'urls'");
|
|
284
|
+
}
|
|
285
|
+
resourceInputs["applicationContainer"] = args?.applicationContainer;
|
|
286
|
+
resourceInputs["applicationEnvironment"] = args?.applicationEnvironment;
|
|
287
|
+
resourceInputs["applicationName"] = args?.applicationName;
|
|
288
|
+
resourceInputs["applicationPort"] = args?.applicationPort;
|
|
289
|
+
resourceInputs["applicationProxy"] = args?.applicationProxy;
|
|
290
|
+
resourceInputs["authPass"] = args?.authPass;
|
|
291
|
+
resourceInputs["authUser"] = args?.authUser;
|
|
292
|
+
resourceInputs["cacheLifetime"] = args?.cacheLifetime;
|
|
293
|
+
resourceInputs["country"] = args?.country;
|
|
294
|
+
resourceInputs["countryIs"] = args?.countryIs;
|
|
295
|
+
resourceInputs["countryIsNots"] = args?.countryIsNots;
|
|
296
|
+
resourceInputs["disableSslVerify"] = args?.disableSslVerify;
|
|
297
|
+
resourceInputs["disabled"] = args?.disabled;
|
|
298
|
+
resourceInputs["domains"] = args?.domains;
|
|
299
|
+
resourceInputs["failoverLifetime"] = args?.failoverLifetime;
|
|
300
|
+
resourceInputs["failoverMode"] = args?.failoverMode;
|
|
301
|
+
resourceInputs["failoverOriginStatusCodes"] = args?.failoverOriginStatusCodes;
|
|
302
|
+
resourceInputs["failoverOriginTtfb"] = args?.failoverOriginTtfb;
|
|
303
|
+
resourceInputs["host"] = args?.host;
|
|
304
|
+
resourceInputs["injectHeaders"] = args?.injectHeaders;
|
|
305
|
+
resourceInputs["ip"] = args?.ip;
|
|
306
|
+
resourceInputs["ipIs"] = args?.ipIs;
|
|
307
|
+
resourceInputs["ipIsNots"] = args?.ipIsNots;
|
|
308
|
+
resourceInputs["method"] = args?.method;
|
|
309
|
+
resourceInputs["methodIs"] = args?.methodIs;
|
|
310
|
+
resourceInputs["methodIsNots"] = args?.methodIsNots;
|
|
311
|
+
resourceInputs["name"] = args?.name;
|
|
312
|
+
resourceInputs["onlyProxy404"] = args?.onlyProxy404;
|
|
313
|
+
resourceInputs["organization"] = args?.organization;
|
|
314
|
+
resourceInputs["originTimeout"] = args?.originTimeout;
|
|
315
|
+
resourceInputs["project"] = args?.project;
|
|
316
|
+
resourceInputs["proxyAlertEnabled"] = args?.proxyAlertEnabled;
|
|
317
|
+
resourceInputs["proxyStripHeaders"] = args?.proxyStripHeaders;
|
|
318
|
+
resourceInputs["proxyStripRequestHeaders"] = args?.proxyStripRequestHeaders;
|
|
319
|
+
resourceInputs["rule"] = args?.rule;
|
|
320
|
+
resourceInputs["staticErrorPage"] = args?.staticErrorPage;
|
|
321
|
+
resourceInputs["staticErrorPageStatusCodes"] = args?.staticErrorPageStatusCodes;
|
|
322
|
+
resourceInputs["to"] = args?.to;
|
|
323
|
+
resourceInputs["urls"] = args?.urls;
|
|
324
|
+
resourceInputs["uuid"] = args?.uuid;
|
|
325
|
+
resourceInputs["wafConfig"] = args?.wafConfig;
|
|
326
|
+
resourceInputs["wafEnabled"] = args?.wafEnabled;
|
|
327
|
+
resourceInputs["weight"] = args?.weight;
|
|
328
|
+
resourceInputs["action"] = undefined /*out*/;
|
|
329
|
+
resourceInputs["actionConfig"] = undefined /*out*/;
|
|
330
|
+
resourceInputs["onlyWithCookie"] = undefined /*out*/;
|
|
331
|
+
resourceInputs["ruleId"] = undefined /*out*/;
|
|
332
|
+
}
|
|
333
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
334
|
+
super(RuleProxy.__pulumiType, name, resourceInputs, opts);
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Input properties used for looking up and filtering RuleProxy resources.
|
|
340
|
+
*/
|
|
341
|
+
export interface RuleProxyState {
|
|
342
|
+
/**
|
|
343
|
+
* Rule action
|
|
344
|
+
*/
|
|
345
|
+
action?: pulumi.Input<string>;
|
|
346
|
+
actionConfig?: pulumi.Input<inputs.RuleProxyActionConfig>;
|
|
347
|
+
/**
|
|
348
|
+
* Quant Cloud application container (required when applicationProxy is true)
|
|
349
|
+
*/
|
|
350
|
+
applicationContainer?: pulumi.Input<string>;
|
|
351
|
+
/**
|
|
352
|
+
* Quant Cloud application environment (required when applicationProxy is true)
|
|
353
|
+
*/
|
|
354
|
+
applicationEnvironment?: pulumi.Input<string>;
|
|
355
|
+
/**
|
|
356
|
+
* Quant Cloud application name (required when applicationProxy is true)
|
|
357
|
+
*/
|
|
358
|
+
applicationName?: pulumi.Input<string>;
|
|
359
|
+
/**
|
|
360
|
+
* Quant Cloud application port (required when applicationProxy is true)
|
|
361
|
+
*/
|
|
362
|
+
applicationPort?: pulumi.Input<number>;
|
|
363
|
+
/**
|
|
364
|
+
* Enable Quant Cloud application proxy mode
|
|
365
|
+
*/
|
|
366
|
+
applicationProxy?: pulumi.Input<boolean>;
|
|
367
|
+
/**
|
|
368
|
+
* Basic auth password
|
|
369
|
+
*/
|
|
370
|
+
authPass?: pulumi.Input<string>;
|
|
371
|
+
/**
|
|
372
|
+
* Basic auth username
|
|
373
|
+
*/
|
|
374
|
+
authUser?: pulumi.Input<string>;
|
|
375
|
+
/**
|
|
376
|
+
* Cache lifetime
|
|
377
|
+
*/
|
|
378
|
+
cacheLifetime?: pulumi.Input<string>;
|
|
379
|
+
/**
|
|
380
|
+
* Country filter type (country_is, country_is_not, any)
|
|
381
|
+
*/
|
|
382
|
+
country?: pulumi.Input<string>;
|
|
383
|
+
/**
|
|
384
|
+
* Allowed countries
|
|
385
|
+
*/
|
|
386
|
+
countryIs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
387
|
+
/**
|
|
388
|
+
* Excluded countries
|
|
389
|
+
*/
|
|
390
|
+
countryIsNots?: pulumi.Input<pulumi.Input<string>[]>;
|
|
391
|
+
/**
|
|
392
|
+
* Disable SSL verification
|
|
393
|
+
*/
|
|
394
|
+
disableSslVerify?: pulumi.Input<boolean>;
|
|
395
|
+
/**
|
|
396
|
+
* Whether rule is disabled
|
|
397
|
+
*/
|
|
398
|
+
disabled?: pulumi.Input<boolean>;
|
|
399
|
+
/**
|
|
400
|
+
* Domain patterns (default: any)
|
|
401
|
+
*/
|
|
402
|
+
domains?: pulumi.Input<pulumi.Input<string>[]>;
|
|
403
|
+
/**
|
|
404
|
+
* Failover cache lifetime in seconds
|
|
405
|
+
*/
|
|
406
|
+
failoverLifetime?: pulumi.Input<string>;
|
|
407
|
+
/**
|
|
408
|
+
* Enable failover mode
|
|
409
|
+
*/
|
|
410
|
+
failoverMode?: pulumi.Input<boolean>;
|
|
411
|
+
/**
|
|
412
|
+
* Origin status codes that trigger failover
|
|
413
|
+
*/
|
|
414
|
+
failoverOriginStatusCodes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
415
|
+
/**
|
|
416
|
+
* Failover TTFB threshold in milliseconds
|
|
417
|
+
*/
|
|
418
|
+
failoverOriginTtfb?: pulumi.Input<string>;
|
|
419
|
+
/**
|
|
420
|
+
* Host header override
|
|
421
|
+
*/
|
|
422
|
+
host?: pulumi.Input<string>;
|
|
423
|
+
/**
|
|
424
|
+
* Headers to inject
|
|
425
|
+
*/
|
|
426
|
+
injectHeaders?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
|
|
427
|
+
/**
|
|
428
|
+
* IP filter type (ip_is, ip_is_not, any)
|
|
429
|
+
*/
|
|
430
|
+
ip?: pulumi.Input<string>;
|
|
431
|
+
/**
|
|
432
|
+
* Allowed IP addresses
|
|
433
|
+
*/
|
|
434
|
+
ipIs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
435
|
+
/**
|
|
436
|
+
* Excluded IP addresses
|
|
437
|
+
*/
|
|
438
|
+
ipIsNots?: pulumi.Input<pulumi.Input<string>[]>;
|
|
439
|
+
/**
|
|
440
|
+
* Method filter type (method_is, method_is_not, any)
|
|
441
|
+
*/
|
|
442
|
+
method?: pulumi.Input<string>;
|
|
443
|
+
/**
|
|
444
|
+
* Allowed HTTP methods
|
|
445
|
+
*/
|
|
446
|
+
methodIs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
447
|
+
/**
|
|
448
|
+
* Excluded HTTP methods
|
|
449
|
+
*/
|
|
450
|
+
methodIsNots?: pulumi.Input<pulumi.Input<string>[]>;
|
|
451
|
+
/**
|
|
452
|
+
* Rule name
|
|
453
|
+
*/
|
|
454
|
+
name?: pulumi.Input<string>;
|
|
455
|
+
/**
|
|
456
|
+
* Only proxy 404 responses
|
|
457
|
+
*/
|
|
458
|
+
onlyProxy404?: pulumi.Input<boolean>;
|
|
459
|
+
/**
|
|
460
|
+
* Only apply with cookie
|
|
461
|
+
*/
|
|
462
|
+
onlyWithCookie?: pulumi.Input<string>;
|
|
463
|
+
organization?: pulumi.Input<string>;
|
|
464
|
+
/**
|
|
465
|
+
* Origin timeout
|
|
466
|
+
*/
|
|
467
|
+
originTimeout?: pulumi.Input<string>;
|
|
468
|
+
project?: pulumi.Input<string>;
|
|
469
|
+
/**
|
|
470
|
+
* Proxy alert enabled
|
|
471
|
+
*/
|
|
472
|
+
proxyAlertEnabled?: pulumi.Input<boolean>;
|
|
473
|
+
/**
|
|
474
|
+
* Headers to strip from response
|
|
475
|
+
*/
|
|
476
|
+
proxyStripHeaders?: pulumi.Input<pulumi.Input<string>[]>;
|
|
477
|
+
/**
|
|
478
|
+
* Headers to strip from request
|
|
479
|
+
*/
|
|
480
|
+
proxyStripRequestHeaders?: pulumi.Input<pulumi.Input<string>[]>;
|
|
481
|
+
rule?: pulumi.Input<string>;
|
|
482
|
+
/**
|
|
483
|
+
* Rule ID
|
|
484
|
+
*/
|
|
485
|
+
ruleId?: pulumi.Input<string>;
|
|
486
|
+
/**
|
|
487
|
+
* Static error page content (HTML) to serve on origin errors
|
|
488
|
+
*/
|
|
489
|
+
staticErrorPage?: pulumi.Input<string>;
|
|
490
|
+
/**
|
|
491
|
+
* Origin status codes that trigger static error page
|
|
492
|
+
*/
|
|
493
|
+
staticErrorPageStatusCodes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
494
|
+
/**
|
|
495
|
+
* Target URL to proxy to
|
|
496
|
+
*/
|
|
497
|
+
to?: pulumi.Input<string>;
|
|
498
|
+
/**
|
|
499
|
+
* URL patterns
|
|
500
|
+
*/
|
|
501
|
+
urls?: pulumi.Input<pulumi.Input<string>[]>;
|
|
502
|
+
/**
|
|
503
|
+
* Rule UUID
|
|
504
|
+
*/
|
|
505
|
+
uuid?: pulumi.Input<string>;
|
|
506
|
+
/**
|
|
507
|
+
* Web Application Firewall configuration
|
|
508
|
+
*/
|
|
509
|
+
wafConfig?: pulumi.Input<inputs.RuleProxyWafConfig>;
|
|
510
|
+
/**
|
|
511
|
+
* WAF enabled
|
|
512
|
+
*/
|
|
513
|
+
wafEnabled?: pulumi.Input<boolean>;
|
|
514
|
+
/**
|
|
515
|
+
* Rule weight
|
|
516
|
+
*/
|
|
517
|
+
weight?: pulumi.Input<number>;
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
/**
|
|
521
|
+
* The set of arguments for constructing a RuleProxy resource.
|
|
522
|
+
*/
|
|
523
|
+
export interface RuleProxyArgs {
|
|
524
|
+
/**
|
|
525
|
+
* Quant Cloud application container (required when applicationProxy is true)
|
|
526
|
+
*/
|
|
527
|
+
applicationContainer?: pulumi.Input<string>;
|
|
528
|
+
/**
|
|
529
|
+
* Quant Cloud application environment (required when applicationProxy is true)
|
|
530
|
+
*/
|
|
531
|
+
applicationEnvironment?: pulumi.Input<string>;
|
|
532
|
+
/**
|
|
533
|
+
* Quant Cloud application name (required when applicationProxy is true)
|
|
534
|
+
*/
|
|
535
|
+
applicationName?: pulumi.Input<string>;
|
|
536
|
+
/**
|
|
537
|
+
* Quant Cloud application port (required when applicationProxy is true)
|
|
538
|
+
*/
|
|
539
|
+
applicationPort?: pulumi.Input<number>;
|
|
540
|
+
/**
|
|
541
|
+
* Enable Quant Cloud application proxy mode
|
|
542
|
+
*/
|
|
543
|
+
applicationProxy?: pulumi.Input<boolean>;
|
|
544
|
+
/**
|
|
545
|
+
* Basic auth password
|
|
546
|
+
*/
|
|
547
|
+
authPass?: pulumi.Input<string>;
|
|
548
|
+
/**
|
|
549
|
+
* Basic auth username
|
|
550
|
+
*/
|
|
551
|
+
authUser?: pulumi.Input<string>;
|
|
552
|
+
/**
|
|
553
|
+
* Cache lifetime
|
|
554
|
+
*/
|
|
555
|
+
cacheLifetime?: pulumi.Input<string>;
|
|
556
|
+
/**
|
|
557
|
+
* Country filter type (country_is, country_is_not, any)
|
|
558
|
+
*/
|
|
559
|
+
country?: pulumi.Input<string>;
|
|
560
|
+
/**
|
|
561
|
+
* Allowed countries
|
|
562
|
+
*/
|
|
563
|
+
countryIs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
564
|
+
/**
|
|
565
|
+
* Excluded countries
|
|
566
|
+
*/
|
|
567
|
+
countryIsNots?: pulumi.Input<pulumi.Input<string>[]>;
|
|
568
|
+
/**
|
|
569
|
+
* Disable SSL verification
|
|
570
|
+
*/
|
|
571
|
+
disableSslVerify?: pulumi.Input<boolean>;
|
|
572
|
+
/**
|
|
573
|
+
* Whether rule is disabled
|
|
574
|
+
*/
|
|
575
|
+
disabled?: pulumi.Input<boolean>;
|
|
576
|
+
/**
|
|
577
|
+
* Domain patterns (default: any)
|
|
578
|
+
*/
|
|
579
|
+
domains: pulumi.Input<pulumi.Input<string>[]>;
|
|
580
|
+
/**
|
|
581
|
+
* Failover cache lifetime in seconds
|
|
582
|
+
*/
|
|
583
|
+
failoverLifetime?: pulumi.Input<string>;
|
|
584
|
+
/**
|
|
585
|
+
* Enable failover mode
|
|
586
|
+
*/
|
|
587
|
+
failoverMode?: pulumi.Input<boolean>;
|
|
588
|
+
/**
|
|
589
|
+
* Origin status codes that trigger failover
|
|
590
|
+
*/
|
|
591
|
+
failoverOriginStatusCodes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
592
|
+
/**
|
|
593
|
+
* Failover TTFB threshold in milliseconds
|
|
594
|
+
*/
|
|
595
|
+
failoverOriginTtfb?: pulumi.Input<string>;
|
|
596
|
+
/**
|
|
597
|
+
* Host header override
|
|
598
|
+
*/
|
|
599
|
+
host?: pulumi.Input<string>;
|
|
600
|
+
/**
|
|
601
|
+
* Headers to inject
|
|
602
|
+
*/
|
|
603
|
+
injectHeaders?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;
|
|
604
|
+
/**
|
|
605
|
+
* IP filter type (ip_is, ip_is_not, any)
|
|
606
|
+
*/
|
|
607
|
+
ip?: pulumi.Input<string>;
|
|
608
|
+
/**
|
|
609
|
+
* Allowed IP addresses
|
|
610
|
+
*/
|
|
611
|
+
ipIs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
612
|
+
/**
|
|
613
|
+
* Excluded IP addresses
|
|
614
|
+
*/
|
|
615
|
+
ipIsNots?: pulumi.Input<pulumi.Input<string>[]>;
|
|
616
|
+
/**
|
|
617
|
+
* Method filter type (method_is, method_is_not, any)
|
|
618
|
+
*/
|
|
619
|
+
method?: pulumi.Input<string>;
|
|
620
|
+
/**
|
|
621
|
+
* Allowed HTTP methods
|
|
622
|
+
*/
|
|
623
|
+
methodIs?: pulumi.Input<pulumi.Input<string>[]>;
|
|
624
|
+
/**
|
|
625
|
+
* Excluded HTTP methods
|
|
626
|
+
*/
|
|
627
|
+
methodIsNots?: pulumi.Input<pulumi.Input<string>[]>;
|
|
628
|
+
/**
|
|
629
|
+
* Rule name
|
|
630
|
+
*/
|
|
631
|
+
name?: pulumi.Input<string>;
|
|
632
|
+
/**
|
|
633
|
+
* Only proxy 404 responses
|
|
634
|
+
*/
|
|
635
|
+
onlyProxy404?: pulumi.Input<boolean>;
|
|
636
|
+
organization?: pulumi.Input<string>;
|
|
637
|
+
/**
|
|
638
|
+
* Origin timeout
|
|
639
|
+
*/
|
|
640
|
+
originTimeout?: pulumi.Input<string>;
|
|
641
|
+
project?: pulumi.Input<string>;
|
|
642
|
+
/**
|
|
643
|
+
* Proxy alert enabled
|
|
644
|
+
*/
|
|
645
|
+
proxyAlertEnabled?: pulumi.Input<boolean>;
|
|
646
|
+
/**
|
|
647
|
+
* Headers to strip from response
|
|
648
|
+
*/
|
|
649
|
+
proxyStripHeaders?: pulumi.Input<pulumi.Input<string>[]>;
|
|
650
|
+
/**
|
|
651
|
+
* Headers to strip from request
|
|
652
|
+
*/
|
|
653
|
+
proxyStripRequestHeaders?: pulumi.Input<pulumi.Input<string>[]>;
|
|
654
|
+
rule?: pulumi.Input<string>;
|
|
655
|
+
/**
|
|
656
|
+
* Static error page content (HTML) to serve on origin errors
|
|
657
|
+
*/
|
|
658
|
+
staticErrorPage?: pulumi.Input<string>;
|
|
659
|
+
/**
|
|
660
|
+
* Origin status codes that trigger static error page
|
|
661
|
+
*/
|
|
662
|
+
staticErrorPageStatusCodes?: pulumi.Input<pulumi.Input<string>[]>;
|
|
663
|
+
/**
|
|
664
|
+
* Target URL to proxy to
|
|
665
|
+
*/
|
|
666
|
+
to: pulumi.Input<string>;
|
|
667
|
+
/**
|
|
668
|
+
* URL patterns
|
|
669
|
+
*/
|
|
670
|
+
urls: pulumi.Input<pulumi.Input<string>[]>;
|
|
671
|
+
/**
|
|
672
|
+
* Rule UUID
|
|
673
|
+
*/
|
|
674
|
+
uuid?: pulumi.Input<string>;
|
|
675
|
+
/**
|
|
676
|
+
* Web Application Firewall configuration
|
|
677
|
+
*/
|
|
678
|
+
wafConfig?: pulumi.Input<inputs.RuleProxyWafConfig>;
|
|
679
|
+
/**
|
|
680
|
+
* WAF enabled
|
|
681
|
+
*/
|
|
682
|
+
wafEnabled?: pulumi.Input<boolean>;
|
|
683
|
+
/**
|
|
684
|
+
* Rule weight
|
|
685
|
+
*/
|
|
686
|
+
weight?: pulumi.Input<number>;
|
|
687
|
+
}
|