@pulumi/fastly 4.0.1 → 4.0.2

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.
@@ -11,8 +11,8 @@ import * as pulumi from "@pulumi/pulumi";
11
11
  *
12
12
  * const fastly = fastly.getFastlyIpRanges({});
13
13
  * const fromFastly = new aws.ec2.SecurityGroup("fromFastly", {ingress: [{
14
- * fromPort: "443",
15
- * toPort: "443",
14
+ * fromPort: 443,
15
+ * toPort: 443,
16
16
  * protocol: "tcp",
17
17
  * cidrBlocks: fastly.then(fastly => fastly.cidrBlocks),
18
18
  * ipv6CidrBlocks: fastly.then(fastly => fastly.ipv6CidrBlocks),
@@ -17,8 +17,8 @@ const utilities = require("./utilities");
17
17
  *
18
18
  * const fastly = fastly.getFastlyIpRanges({});
19
19
  * const fromFastly = new aws.ec2.SecurityGroup("fromFastly", {ingress: [{
20
- * fromPort: "443",
21
- * toPort: "443",
20
+ * fromPort: 443,
21
+ * toPort: 443,
22
22
  * protocol: "tcp",
23
23
  * cidrBlocks: fastly.then(fastly => fastly.cidrBlocks),
24
24
  * ipv6CidrBlocks: fastly.then(fastly => fastly.ipv6CidrBlocks),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/fastly",
3
- "version": "v4.0.1",
3
+ "version": "v4.0.2",
4
4
  "description": "A Pulumi package for creating and managing fastly cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -11,7 +11,7 @@
11
11
  "license": "Apache-2.0",
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "install": "node scripts/install-pulumi-plugin.js resource fastly v4.0.1"
14
+ "install": "node scripts/install-pulumi-plugin.js resource fastly v4.0.2"
15
15
  },
16
16
  "dependencies": {
17
17
  "@pulumi/pulumi": "^3.0.0"
package/package.json.dev CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulumi/fastly",
3
- "version": "v4.0.1",
3
+ "version": "v4.0.2",
4
4
  "description": "A Pulumi package for creating and managing fastly cloud resources.",
5
5
  "keywords": [
6
6
  "pulumi",
@@ -11,7 +11,7 @@
11
11
  "license": "Apache-2.0",
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "install": "node scripts/install-pulumi-plugin.js resource fastly v4.0.1"
14
+ "install": "node scripts/install-pulumi-plugin.js resource fastly v4.0.2"
15
15
  },
16
16
  "dependencies": {
17
17
  "@pulumi/pulumi": "^3.0.0"
@@ -5,438 +5,6 @@ import { input as inputs, output as outputs } from "./types";
5
5
  *
6
6
  * > **Warning:** This provider will take precedence over any changes you make in the UI or API. Such changes are likely to be reversed if you run the provider again.
7
7
  *
8
- * ## Example Usage
9
- *
10
- * Basic usage:
11
- *
12
- * ```typescript
13
- * import * as pulumi from "@pulumi/pulumi";
14
- * import * as fastly from "@pulumi/fastly";
15
- *
16
- * const demo = new fastly.ServiceVcl("demo", {
17
- * domains: [{
18
- * name: "example.com",
19
- * comment: "demo",
20
- * }],
21
- * backends: [{
22
- * address: "127.0.0.1",
23
- * name: "origin1",
24
- * port: 80,
25
- * }],
26
- * conditions: [
27
- * {
28
- * name: "WAF_Prefetch",
29
- * type: "PREFETCH",
30
- * statement: "req.backend.is_origin",
31
- * },
32
- * {
33
- * name: "WAF_always_false",
34
- * statement: "false",
35
- * type: "REQUEST",
36
- * },
37
- * ],
38
- * responseObjects: [{
39
- * name: "WAF_Response",
40
- * status: "403",
41
- * response: "Forbidden",
42
- * contentType: "text/html",
43
- * content: "<html><body>Forbidden</body></html>",
44
- * requestCondition: "WAF_always_false",
45
- * }],
46
- * waf: {
47
- * prefetchCondition: "WAF_Prefetch",
48
- * responseObject: "WAF_Response",
49
- * },
50
- * forceDestroy: true,
51
- * });
52
- * const waf = new fastly.ServiceWafConfiguration("waf", {
53
- * wafId: demo.waf.apply(waf => waf?.wafId),
54
- * httpViolationScoreThreshold: 100,
55
- * });
56
- * ```
57
- *
58
- * Usage with rules:
59
- *
60
- * ```typescript
61
- * import * as pulumi from "@pulumi/pulumi";
62
- * import * as fastly from "@pulumi/fastly";
63
- *
64
- * const demo = new fastly.ServiceVcl("demo", {
65
- * domains: [{
66
- * name: "example.com",
67
- * comment: "demo",
68
- * }],
69
- * backends: [{
70
- * address: "127.0.0.1",
71
- * name: "origin1",
72
- * port: 80,
73
- * }],
74
- * conditions: [
75
- * {
76
- * name: "WAF_Prefetch",
77
- * type: "PREFETCH",
78
- * statement: "req.backend.is_origin",
79
- * },
80
- * {
81
- * name: "WAF_always_false",
82
- * statement: "false",
83
- * type: "REQUEST",
84
- * },
85
- * ],
86
- * responseObjects: [{
87
- * name: "WAF_Response",
88
- * status: "403",
89
- * response: "Forbidden",
90
- * contentType: "text/html",
91
- * content: "<html><body>Forbidden</body></html>",
92
- * requestCondition: "WAF_always_false",
93
- * }],
94
- * waf: {
95
- * prefetchCondition: "WAF_Prefetch",
96
- * responseObject: "WAF_Response",
97
- * },
98
- * forceDestroy: true,
99
- * });
100
- * const waf = new fastly.ServiceWafConfiguration("waf", {
101
- * wafId: demo.waf.apply(waf => waf?.wafId),
102
- * httpViolationScoreThreshold: 100,
103
- * rules: [{
104
- * modsecRuleId: 1010090,
105
- * revision: 1,
106
- * status: "log",
107
- * }],
108
- * });
109
- * ```
110
- *
111
- * Usage with rule exclusions:
112
- *
113
- * > **Warning:** Rule exclusions are part of a **beta release**, which may be subject to breaking changes and improvements over time. For more information, see our [product and feature lifecycle](https://docs.fastly.com/products/fastly-product-lifecycle#beta) descriptions.
114
- *
115
- * ```typescript
116
- * import * as pulumi from "@pulumi/pulumi";
117
- * import * as fastly from "@pulumi/fastly";
118
- *
119
- * const demo = new fastly.ServiceVcl("demo", {
120
- * domains: [{
121
- * name: "example.com",
122
- * comment: "demo",
123
- * }],
124
- * backends: [{
125
- * address: "127.0.0.1",
126
- * name: "origin1",
127
- * port: 80,
128
- * }],
129
- * conditions: [
130
- * {
131
- * name: "WAF_Prefetch",
132
- * type: "PREFETCH",
133
- * statement: "req.backend.is_origin",
134
- * },
135
- * {
136
- * name: "WAF_always_false",
137
- * statement: "false",
138
- * type: "REQUEST",
139
- * },
140
- * ],
141
- * responseObjects: [{
142
- * name: "WAF_Response",
143
- * status: "403",
144
- * response: "Forbidden",
145
- * contentType: "text/html",
146
- * content: "<html><body>Forbidden</body></html>",
147
- * requestCondition: "WAF_always_false",
148
- * }],
149
- * waf: {
150
- * prefetchCondition: "WAF_Prefetch",
151
- * responseObject: "WAF_Response",
152
- * },
153
- * forceDestroy: true,
154
- * });
155
- * const waf = new fastly.ServiceWafConfiguration("waf", {
156
- * wafId: demo.waf.apply(waf => waf?.wafId),
157
- * httpViolationScoreThreshold: 100,
158
- * rules: [{
159
- * modsecRuleId: 2029718,
160
- * revision: 1,
161
- * status: "log",
162
- * }],
163
- * ruleExclusions: [{
164
- * name: "index page",
165
- * exclusionType: "rule",
166
- * condition: "req.url.basename == \"index.html\"",
167
- * modsecRuleIds: [2029718],
168
- * }],
169
- * });
170
- * ```
171
- *
172
- * Usage with rules from data source:
173
- *
174
- * ```typescript
175
- * import * as pulumi from "@pulumi/pulumi";
176
- * import * as fastly from "@pulumi/fastly";
177
- *
178
- * const config = new pulumi.Config();
179
- * const typeStatus = config.getObject("typeStatus") || {
180
- * score: "score",
181
- * threshold: "log",
182
- * strict: "log",
183
- * };
184
- * const demo = new fastly.ServiceVcl("demo", {
185
- * domains: [{
186
- * name: "example.com",
187
- * comment: "demo",
188
- * }],
189
- * backends: [{
190
- * address: "127.0.0.1",
191
- * name: "origin1",
192
- * port: 80,
193
- * }],
194
- * conditions: [
195
- * {
196
- * name: "WAF_Prefetch",
197
- * type: "PREFETCH",
198
- * statement: "req.backend.is_origin",
199
- * },
200
- * {
201
- * name: "WAF_always_false",
202
- * statement: "false",
203
- * type: "REQUEST",
204
- * },
205
- * ],
206
- * responseObjects: [{
207
- * name: "WAF_Response",
208
- * status: "403",
209
- * response: "Forbidden",
210
- * contentType: "text/html",
211
- * content: "<html><body>Forbidden</body></html>",
212
- * requestCondition: "WAF_always_false",
213
- * }],
214
- * waf: {
215
- * prefetchCondition: "WAF_Prefetch",
216
- * responseObject: "WAF_Response",
217
- * },
218
- * forceDestroy: true,
219
- * });
220
- * const owasp = fastly.getWafRules({
221
- * publishers: ["owasp"],
222
- * });
223
- * const waf = new fastly.ServiceWafConfiguration("waf", {
224
- * wafId: demo.waf.apply(waf => waf?.wafId),
225
- * httpViolationScoreThreshold: 100,
226
- * dynamic: [{
227
- * forEach: owasp.then(owasp => owasp.rules),
228
- * content: [{
229
- * modsecRuleId: rule.value.modsec_rule_id,
230
- * revision: rule.value.latest_revision_number,
231
- * status: typeStatus[rule.value.type] || "log",
232
- * }],
233
- * }],
234
- * });
235
- * ```
236
- *
237
- * Usage with support for individual rule configuration (this is the suggested pattern):
238
- *
239
- * ```typescript
240
- * import * as pulumi from "@pulumi/pulumi";
241
- * import * as fastly from "@pulumi/fastly";
242
- *
243
- * const config = new pulumi.Config();
244
- * const typeStatus = config.getObject("typeStatus") || {
245
- * score: "score",
246
- * threshold: "log",
247
- * strict: "log",
248
- * };
249
- * const individualRules = config.getObject("individualRules") || {
250
- * 1010020: "block",
251
- * };
252
- * const demo = new fastly.ServiceVcl("demo", {
253
- * domains: [{
254
- * name: "example.com",
255
- * comment: "demo",
256
- * }],
257
- * backends: [{
258
- * address: "127.0.0.1",
259
- * name: "origin1",
260
- * port: 80,
261
- * }],
262
- * conditions: [
263
- * {
264
- * name: "WAF_Prefetch",
265
- * type: "PREFETCH",
266
- * statement: "req.backend.is_origin",
267
- * },
268
- * {
269
- * name: "WAF_always_false",
270
- * statement: "false",
271
- * type: "REQUEST",
272
- * },
273
- * ],
274
- * responseObjects: [{
275
- * name: "WAF_Response",
276
- * status: "403",
277
- * response: "Forbidden",
278
- * contentType: "text/html",
279
- * content: "<html><body>Forbidden</body></html>",
280
- * requestCondition: "WAF_always_false",
281
- * }],
282
- * waf: {
283
- * prefetchCondition: "WAF_Prefetch",
284
- * responseObject: "WAF_Response",
285
- * },
286
- * forceDestroy: true,
287
- * });
288
- * const owasp = fastly.getWafRules({
289
- * publishers: ["owasp"],
290
- * });
291
- * const waf = new fastly.ServiceWafConfiguration("waf", {
292
- * wafId: demo.waf.apply(waf => waf?.wafId),
293
- * httpViolationScoreThreshold: 202,
294
- * dynamic: [{
295
- * forEach: owasp.then(owasp => owasp.rules),
296
- * content: [{
297
- * modsecRuleId: rule.value.modsec_rule_id,
298
- * revision: rule.value.latest_revision_number,
299
- * status: individualRules[rule.value.modsec_rule_id] || typeStatus[rule.value.type] || "log",
300
- * }],
301
- * }],
302
- * });
303
- * ```
304
- *
305
- * Usage with support for specific rule revision configuration:
306
- *
307
- * ```typescript
308
- * import * as pulumi from "@pulumi/pulumi";
309
- * import * as fastly from "@pulumi/fastly";
310
- *
311
- * const config = new pulumi.Config();
312
- * const typeStatus = config.getObject("typeStatus") || {
313
- * score: "score",
314
- * threshold: "log",
315
- * strict: "log",
316
- * };
317
- * const specificRuleRevisions = config.getObject("specificRuleRevisions") || {
318
- * 1010020: 1,
319
- * };
320
- * const demo = new fastly.ServiceVcl("demo", {
321
- * domains: [{
322
- * name: "example.com",
323
- * comment: "demo",
324
- * }],
325
- * backends: [{
326
- * address: "127.0.0.1",
327
- * name: "origin1",
328
- * port: 80,
329
- * }],
330
- * conditions: [
331
- * {
332
- * name: "WAF_Prefetch",
333
- * type: "PREFETCH",
334
- * statement: "req.backend.is_origin",
335
- * },
336
- * {
337
- * name: "WAF_always_false",
338
- * statement: "false",
339
- * type: "REQUEST",
340
- * },
341
- * ],
342
- * responseObjects: [{
343
- * name: "WAF_Response",
344
- * status: "403",
345
- * response: "Forbidden",
346
- * contentType: "text/html",
347
- * content: "<html><body>Forbidden</body></html>",
348
- * requestCondition: "WAF_always_false",
349
- * }],
350
- * waf: {
351
- * prefetchCondition: "WAF_Prefetch",
352
- * responseObject: "WAF_Response",
353
- * },
354
- * forceDestroy: true,
355
- * });
356
- * const owasp = fastly.getWafRules({
357
- * publishers: ["owasp"],
358
- * });
359
- * const waf = new fastly.ServiceWafConfiguration("waf", {
360
- * wafId: demo.waf.apply(waf => waf?.wafId),
361
- * httpViolationScoreThreshold: 202,
362
- * dynamic: [{
363
- * forEach: owasp.then(owasp => owasp.rules),
364
- * content: [{
365
- * modsecRuleId: rule.value.modsec_rule_id,
366
- * revision: specificRuleRevisions[rule.value.modsec_rule_id] || rule.value.latest_revision_number,
367
- * status: typeStatus[rule.value.type] || "log",
368
- * }],
369
- * }],
370
- * });
371
- * ```
372
- *
373
- * Usage omitting rule revision field. The first time this provider is applied, the latest rule revisions are associated with the WAF. Any subsequent apply would not alter the rule revisions.
374
- *
375
- * ```typescript
376
- * import * as pulumi from "@pulumi/pulumi";
377
- * import * as fastly from "@pulumi/fastly";
378
- *
379
- * const config = new pulumi.Config();
380
- * const typeStatus = config.getObject("typeStatus") || {
381
- * score: "score",
382
- * threshold: "log",
383
- * strict: "log",
384
- * };
385
- * const individualRules = config.getObject("individualRules") || {
386
- * 1010020: "block",
387
- * };
388
- * const demo = new fastly.ServiceVcl("demo", {
389
- * domains: [{
390
- * name: "example.com",
391
- * comment: "demo",
392
- * }],
393
- * backends: [{
394
- * address: "127.0.0.1",
395
- * name: "origin1",
396
- * port: 80,
397
- * }],
398
- * conditions: [
399
- * {
400
- * name: "WAF_Prefetch",
401
- * type: "PREFETCH",
402
- * statement: "req.backend.is_origin",
403
- * },
404
- * {
405
- * name: "WAF_always_false",
406
- * statement: "false",
407
- * type: "REQUEST",
408
- * },
409
- * ],
410
- * responseObjects: [{
411
- * name: "WAF_Response",
412
- * status: "403",
413
- * response: "Forbidden",
414
- * contentType: "text/html",
415
- * content: "<html><body>Forbidden</body></html>",
416
- * requestCondition: "WAF_always_false",
417
- * }],
418
- * waf: {
419
- * prefetchCondition: "WAF_Prefetch",
420
- * responseObject: "WAF_Response",
421
- * },
422
- * forceDestroy: true,
423
- * });
424
- * const owasp = fastly.getWafRules({
425
- * publishers: ["owasp"],
426
- * });
427
- * const waf = new fastly.ServiceWafConfiguration("waf", {
428
- * wafId: demo.waf.apply(waf => waf?.wafId),
429
- * httpViolationScoreThreshold: 202,
430
- * dynamic: [{
431
- * forEach: owasp.then(owasp => owasp.rules),
432
- * content: [{
433
- * modsecRuleId: rule.value.modsec_rule_id,
434
- * status: individualRules[rule.value.modsec_rule_id] || typeStatus[rule.value.type] || "log",
435
- * }],
436
- * }],
437
- * });
438
- * export const rules = waf.rules;
439
- * ```
440
8
  * ## Adding a WAF to an existing service
441
9
  *
442
10
  * > **Warning:** A two-phase change is required when adding a WAF to an existing service
@@ -10,438 +10,6 @@ const utilities = require("./utilities");
10
10
  *
11
11
  * > **Warning:** This provider will take precedence over any changes you make in the UI or API. Such changes are likely to be reversed if you run the provider again.
12
12
  *
13
- * ## Example Usage
14
- *
15
- * Basic usage:
16
- *
17
- * ```typescript
18
- * import * as pulumi from "@pulumi/pulumi";
19
- * import * as fastly from "@pulumi/fastly";
20
- *
21
- * const demo = new fastly.ServiceVcl("demo", {
22
- * domains: [{
23
- * name: "example.com",
24
- * comment: "demo",
25
- * }],
26
- * backends: [{
27
- * address: "127.0.0.1",
28
- * name: "origin1",
29
- * port: 80,
30
- * }],
31
- * conditions: [
32
- * {
33
- * name: "WAF_Prefetch",
34
- * type: "PREFETCH",
35
- * statement: "req.backend.is_origin",
36
- * },
37
- * {
38
- * name: "WAF_always_false",
39
- * statement: "false",
40
- * type: "REQUEST",
41
- * },
42
- * ],
43
- * responseObjects: [{
44
- * name: "WAF_Response",
45
- * status: "403",
46
- * response: "Forbidden",
47
- * contentType: "text/html",
48
- * content: "<html><body>Forbidden</body></html>",
49
- * requestCondition: "WAF_always_false",
50
- * }],
51
- * waf: {
52
- * prefetchCondition: "WAF_Prefetch",
53
- * responseObject: "WAF_Response",
54
- * },
55
- * forceDestroy: true,
56
- * });
57
- * const waf = new fastly.ServiceWafConfiguration("waf", {
58
- * wafId: demo.waf.apply(waf => waf?.wafId),
59
- * httpViolationScoreThreshold: 100,
60
- * });
61
- * ```
62
- *
63
- * Usage with rules:
64
- *
65
- * ```typescript
66
- * import * as pulumi from "@pulumi/pulumi";
67
- * import * as fastly from "@pulumi/fastly";
68
- *
69
- * const demo = new fastly.ServiceVcl("demo", {
70
- * domains: [{
71
- * name: "example.com",
72
- * comment: "demo",
73
- * }],
74
- * backends: [{
75
- * address: "127.0.0.1",
76
- * name: "origin1",
77
- * port: 80,
78
- * }],
79
- * conditions: [
80
- * {
81
- * name: "WAF_Prefetch",
82
- * type: "PREFETCH",
83
- * statement: "req.backend.is_origin",
84
- * },
85
- * {
86
- * name: "WAF_always_false",
87
- * statement: "false",
88
- * type: "REQUEST",
89
- * },
90
- * ],
91
- * responseObjects: [{
92
- * name: "WAF_Response",
93
- * status: "403",
94
- * response: "Forbidden",
95
- * contentType: "text/html",
96
- * content: "<html><body>Forbidden</body></html>",
97
- * requestCondition: "WAF_always_false",
98
- * }],
99
- * waf: {
100
- * prefetchCondition: "WAF_Prefetch",
101
- * responseObject: "WAF_Response",
102
- * },
103
- * forceDestroy: true,
104
- * });
105
- * const waf = new fastly.ServiceWafConfiguration("waf", {
106
- * wafId: demo.waf.apply(waf => waf?.wafId),
107
- * httpViolationScoreThreshold: 100,
108
- * rules: [{
109
- * modsecRuleId: 1010090,
110
- * revision: 1,
111
- * status: "log",
112
- * }],
113
- * });
114
- * ```
115
- *
116
- * Usage with rule exclusions:
117
- *
118
- * > **Warning:** Rule exclusions are part of a **beta release**, which may be subject to breaking changes and improvements over time. For more information, see our [product and feature lifecycle](https://docs.fastly.com/products/fastly-product-lifecycle#beta) descriptions.
119
- *
120
- * ```typescript
121
- * import * as pulumi from "@pulumi/pulumi";
122
- * import * as fastly from "@pulumi/fastly";
123
- *
124
- * const demo = new fastly.ServiceVcl("demo", {
125
- * domains: [{
126
- * name: "example.com",
127
- * comment: "demo",
128
- * }],
129
- * backends: [{
130
- * address: "127.0.0.1",
131
- * name: "origin1",
132
- * port: 80,
133
- * }],
134
- * conditions: [
135
- * {
136
- * name: "WAF_Prefetch",
137
- * type: "PREFETCH",
138
- * statement: "req.backend.is_origin",
139
- * },
140
- * {
141
- * name: "WAF_always_false",
142
- * statement: "false",
143
- * type: "REQUEST",
144
- * },
145
- * ],
146
- * responseObjects: [{
147
- * name: "WAF_Response",
148
- * status: "403",
149
- * response: "Forbidden",
150
- * contentType: "text/html",
151
- * content: "<html><body>Forbidden</body></html>",
152
- * requestCondition: "WAF_always_false",
153
- * }],
154
- * waf: {
155
- * prefetchCondition: "WAF_Prefetch",
156
- * responseObject: "WAF_Response",
157
- * },
158
- * forceDestroy: true,
159
- * });
160
- * const waf = new fastly.ServiceWafConfiguration("waf", {
161
- * wafId: demo.waf.apply(waf => waf?.wafId),
162
- * httpViolationScoreThreshold: 100,
163
- * rules: [{
164
- * modsecRuleId: 2029718,
165
- * revision: 1,
166
- * status: "log",
167
- * }],
168
- * ruleExclusions: [{
169
- * name: "index page",
170
- * exclusionType: "rule",
171
- * condition: "req.url.basename == \"index.html\"",
172
- * modsecRuleIds: [2029718],
173
- * }],
174
- * });
175
- * ```
176
- *
177
- * Usage with rules from data source:
178
- *
179
- * ```typescript
180
- * import * as pulumi from "@pulumi/pulumi";
181
- * import * as fastly from "@pulumi/fastly";
182
- *
183
- * const config = new pulumi.Config();
184
- * const typeStatus = config.getObject("typeStatus") || {
185
- * score: "score",
186
- * threshold: "log",
187
- * strict: "log",
188
- * };
189
- * const demo = new fastly.ServiceVcl("demo", {
190
- * domains: [{
191
- * name: "example.com",
192
- * comment: "demo",
193
- * }],
194
- * backends: [{
195
- * address: "127.0.0.1",
196
- * name: "origin1",
197
- * port: 80,
198
- * }],
199
- * conditions: [
200
- * {
201
- * name: "WAF_Prefetch",
202
- * type: "PREFETCH",
203
- * statement: "req.backend.is_origin",
204
- * },
205
- * {
206
- * name: "WAF_always_false",
207
- * statement: "false",
208
- * type: "REQUEST",
209
- * },
210
- * ],
211
- * responseObjects: [{
212
- * name: "WAF_Response",
213
- * status: "403",
214
- * response: "Forbidden",
215
- * contentType: "text/html",
216
- * content: "<html><body>Forbidden</body></html>",
217
- * requestCondition: "WAF_always_false",
218
- * }],
219
- * waf: {
220
- * prefetchCondition: "WAF_Prefetch",
221
- * responseObject: "WAF_Response",
222
- * },
223
- * forceDestroy: true,
224
- * });
225
- * const owasp = fastly.getWafRules({
226
- * publishers: ["owasp"],
227
- * });
228
- * const waf = new fastly.ServiceWafConfiguration("waf", {
229
- * wafId: demo.waf.apply(waf => waf?.wafId),
230
- * httpViolationScoreThreshold: 100,
231
- * dynamic: [{
232
- * forEach: owasp.then(owasp => owasp.rules),
233
- * content: [{
234
- * modsecRuleId: rule.value.modsec_rule_id,
235
- * revision: rule.value.latest_revision_number,
236
- * status: typeStatus[rule.value.type] || "log",
237
- * }],
238
- * }],
239
- * });
240
- * ```
241
- *
242
- * Usage with support for individual rule configuration (this is the suggested pattern):
243
- *
244
- * ```typescript
245
- * import * as pulumi from "@pulumi/pulumi";
246
- * import * as fastly from "@pulumi/fastly";
247
- *
248
- * const config = new pulumi.Config();
249
- * const typeStatus = config.getObject("typeStatus") || {
250
- * score: "score",
251
- * threshold: "log",
252
- * strict: "log",
253
- * };
254
- * const individualRules = config.getObject("individualRules") || {
255
- * 1010020: "block",
256
- * };
257
- * const demo = new fastly.ServiceVcl("demo", {
258
- * domains: [{
259
- * name: "example.com",
260
- * comment: "demo",
261
- * }],
262
- * backends: [{
263
- * address: "127.0.0.1",
264
- * name: "origin1",
265
- * port: 80,
266
- * }],
267
- * conditions: [
268
- * {
269
- * name: "WAF_Prefetch",
270
- * type: "PREFETCH",
271
- * statement: "req.backend.is_origin",
272
- * },
273
- * {
274
- * name: "WAF_always_false",
275
- * statement: "false",
276
- * type: "REQUEST",
277
- * },
278
- * ],
279
- * responseObjects: [{
280
- * name: "WAF_Response",
281
- * status: "403",
282
- * response: "Forbidden",
283
- * contentType: "text/html",
284
- * content: "<html><body>Forbidden</body></html>",
285
- * requestCondition: "WAF_always_false",
286
- * }],
287
- * waf: {
288
- * prefetchCondition: "WAF_Prefetch",
289
- * responseObject: "WAF_Response",
290
- * },
291
- * forceDestroy: true,
292
- * });
293
- * const owasp = fastly.getWafRules({
294
- * publishers: ["owasp"],
295
- * });
296
- * const waf = new fastly.ServiceWafConfiguration("waf", {
297
- * wafId: demo.waf.apply(waf => waf?.wafId),
298
- * httpViolationScoreThreshold: 202,
299
- * dynamic: [{
300
- * forEach: owasp.then(owasp => owasp.rules),
301
- * content: [{
302
- * modsecRuleId: rule.value.modsec_rule_id,
303
- * revision: rule.value.latest_revision_number,
304
- * status: individualRules[rule.value.modsec_rule_id] || typeStatus[rule.value.type] || "log",
305
- * }],
306
- * }],
307
- * });
308
- * ```
309
- *
310
- * Usage with support for specific rule revision configuration:
311
- *
312
- * ```typescript
313
- * import * as pulumi from "@pulumi/pulumi";
314
- * import * as fastly from "@pulumi/fastly";
315
- *
316
- * const config = new pulumi.Config();
317
- * const typeStatus = config.getObject("typeStatus") || {
318
- * score: "score",
319
- * threshold: "log",
320
- * strict: "log",
321
- * };
322
- * const specificRuleRevisions = config.getObject("specificRuleRevisions") || {
323
- * 1010020: 1,
324
- * };
325
- * const demo = new fastly.ServiceVcl("demo", {
326
- * domains: [{
327
- * name: "example.com",
328
- * comment: "demo",
329
- * }],
330
- * backends: [{
331
- * address: "127.0.0.1",
332
- * name: "origin1",
333
- * port: 80,
334
- * }],
335
- * conditions: [
336
- * {
337
- * name: "WAF_Prefetch",
338
- * type: "PREFETCH",
339
- * statement: "req.backend.is_origin",
340
- * },
341
- * {
342
- * name: "WAF_always_false",
343
- * statement: "false",
344
- * type: "REQUEST",
345
- * },
346
- * ],
347
- * responseObjects: [{
348
- * name: "WAF_Response",
349
- * status: "403",
350
- * response: "Forbidden",
351
- * contentType: "text/html",
352
- * content: "<html><body>Forbidden</body></html>",
353
- * requestCondition: "WAF_always_false",
354
- * }],
355
- * waf: {
356
- * prefetchCondition: "WAF_Prefetch",
357
- * responseObject: "WAF_Response",
358
- * },
359
- * forceDestroy: true,
360
- * });
361
- * const owasp = fastly.getWafRules({
362
- * publishers: ["owasp"],
363
- * });
364
- * const waf = new fastly.ServiceWafConfiguration("waf", {
365
- * wafId: demo.waf.apply(waf => waf?.wafId),
366
- * httpViolationScoreThreshold: 202,
367
- * dynamic: [{
368
- * forEach: owasp.then(owasp => owasp.rules),
369
- * content: [{
370
- * modsecRuleId: rule.value.modsec_rule_id,
371
- * revision: specificRuleRevisions[rule.value.modsec_rule_id] || rule.value.latest_revision_number,
372
- * status: typeStatus[rule.value.type] || "log",
373
- * }],
374
- * }],
375
- * });
376
- * ```
377
- *
378
- * Usage omitting rule revision field. The first time this provider is applied, the latest rule revisions are associated with the WAF. Any subsequent apply would not alter the rule revisions.
379
- *
380
- * ```typescript
381
- * import * as pulumi from "@pulumi/pulumi";
382
- * import * as fastly from "@pulumi/fastly";
383
- *
384
- * const config = new pulumi.Config();
385
- * const typeStatus = config.getObject("typeStatus") || {
386
- * score: "score",
387
- * threshold: "log",
388
- * strict: "log",
389
- * };
390
- * const individualRules = config.getObject("individualRules") || {
391
- * 1010020: "block",
392
- * };
393
- * const demo = new fastly.ServiceVcl("demo", {
394
- * domains: [{
395
- * name: "example.com",
396
- * comment: "demo",
397
- * }],
398
- * backends: [{
399
- * address: "127.0.0.1",
400
- * name: "origin1",
401
- * port: 80,
402
- * }],
403
- * conditions: [
404
- * {
405
- * name: "WAF_Prefetch",
406
- * type: "PREFETCH",
407
- * statement: "req.backend.is_origin",
408
- * },
409
- * {
410
- * name: "WAF_always_false",
411
- * statement: "false",
412
- * type: "REQUEST",
413
- * },
414
- * ],
415
- * responseObjects: [{
416
- * name: "WAF_Response",
417
- * status: "403",
418
- * response: "Forbidden",
419
- * contentType: "text/html",
420
- * content: "<html><body>Forbidden</body></html>",
421
- * requestCondition: "WAF_always_false",
422
- * }],
423
- * waf: {
424
- * prefetchCondition: "WAF_Prefetch",
425
- * responseObject: "WAF_Response",
426
- * },
427
- * forceDestroy: true,
428
- * });
429
- * const owasp = fastly.getWafRules({
430
- * publishers: ["owasp"],
431
- * });
432
- * const waf = new fastly.ServiceWafConfiguration("waf", {
433
- * wafId: demo.waf.apply(waf => waf?.wafId),
434
- * httpViolationScoreThreshold: 202,
435
- * dynamic: [{
436
- * forEach: owasp.then(owasp => owasp.rules),
437
- * content: [{
438
- * modsecRuleId: rule.value.modsec_rule_id,
439
- * status: individualRules[rule.value.modsec_rule_id] || typeStatus[rule.value.type] || "log",
440
- * }],
441
- * }],
442
- * });
443
- * export const rules = waf.rules;
444
- * ```
445
13
  * ## Adding a WAF to an existing service
446
14
  *
447
15
  * > **Warning:** A two-phase change is required when adding a WAF to an existing service
@@ -1 +1 @@
1
- {"version":3,"file":"serviceWafConfiguration.js","sourceRoot":"","sources":["../serviceWafConfiguration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serviceWafConfiguration.js","sourceRoot":"","sources":["../serviceWafConfiguration.ts"],"names":[],"mappings":"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"}