@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/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
+ }