@pulumi/fastly 4.0.1 → 4.0.4
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/getFastlyIpRanges.d.ts +2 -2
- package/getFastlyIpRanges.js +2 -2
- package/package.json +2 -2
- package/package.json.dev +2 -2
- package/serviceCompute.d.ts +2 -2
- package/serviceCompute.js +0 -3
- package/serviceCompute.js.map +1 -1
- package/serviceWafConfiguration.d.ts +0 -432
- package/serviceWafConfiguration.js +0 -432
- package/serviceWafConfiguration.js.map +1 -1
- package/tlsActivation.d.ts +2 -0
- package/tlsActivation.js +2 -0
- package/tlsActivation.js.map +1 -1
- package/tlsCertificate.d.ts +2 -0
- package/tlsCertificate.js +2 -0
- package/tlsCertificate.js.map +1 -1
- package/tlsPrivateKey.d.ts +1 -1
- package/tlsPrivateKey.js +1 -1
- package/types/input.d.ts +0 -3
- package/types/output.d.ts +0 -3
package/getFastlyIpRanges.d.ts
CHANGED
|
@@ -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:
|
|
15
|
-
* toPort:
|
|
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),
|
package/getFastlyIpRanges.js
CHANGED
|
@@ -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:
|
|
21
|
-
* toPort:
|
|
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.
|
|
3
|
+
"version": "v4.0.4",
|
|
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.
|
|
14
|
+
"install": "node scripts/install-pulumi-plugin.js resource fastly v4.0.4"
|
|
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.
|
|
3
|
+
"version": "v4.0.4",
|
|
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.
|
|
14
|
+
"install": "node scripts/install-pulumi-plugin.js resource fastly v4.0.4"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@pulumi/pulumi": "^3.0.0"
|
package/serviceCompute.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare class ServiceCompute extends pulumi.CustomResource {
|
|
|
39
39
|
* The currently active version of your Fastly Service
|
|
40
40
|
*/
|
|
41
41
|
readonly activeVersion: pulumi.Output<number>;
|
|
42
|
-
readonly backends: pulumi.Output<outputs.ServiceComputeBackend[]>;
|
|
42
|
+
readonly backends: pulumi.Output<outputs.ServiceComputeBackend[] | undefined>;
|
|
43
43
|
/**
|
|
44
44
|
* The latest cloned version by the provider
|
|
45
45
|
*/
|
|
@@ -217,7 +217,7 @@ export interface ServiceComputeArgs {
|
|
|
217
217
|
* Conditionally prevents the Service from being activated. The apply step will continue to create a new draft version but will not activate it if this is set to `false`. Default `true`
|
|
218
218
|
*/
|
|
219
219
|
activate?: pulumi.Input<boolean>;
|
|
220
|
-
backends
|
|
220
|
+
backends?: pulumi.Input<pulumi.Input<inputs.ServiceComputeBackend>[]>;
|
|
221
221
|
/**
|
|
222
222
|
* Description field for the service. Default `Managed by Terraform`
|
|
223
223
|
*/
|
package/serviceCompute.js
CHANGED
|
@@ -72,9 +72,6 @@ class ServiceCompute extends pulumi.CustomResource {
|
|
|
72
72
|
}
|
|
73
73
|
else {
|
|
74
74
|
const args = argsOrState;
|
|
75
|
-
if ((!args || args.backends === undefined) && !opts.urn) {
|
|
76
|
-
throw new Error("Missing required property 'backends'");
|
|
77
|
-
}
|
|
78
75
|
if ((!args || args.domains === undefined) && !opts.urn) {
|
|
79
76
|
throw new Error("Missing required property 'domains'");
|
|
80
77
|
}
|
package/serviceCompute.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceCompute.js","sourceRoot":"","sources":["../serviceCompute.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"serviceCompute.js","sourceRoot":"","sources":["../serviceCompute.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"serviceWafConfiguration.js","sourceRoot":"","sources":["../serviceWafConfiguration.ts"],"names":[],"mappings":"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"}
|
package/tlsActivation.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
34
34
|
* });
|
|
35
35
|
* ```
|
|
36
36
|
*
|
|
37
|
+
* > **Warning:** Updating the `fastly.TlsPrivateKey`/`fastly.TlsCertificate` resources should be done in multiple plan/apply steps to avoid potential downtime. The new certificate and associated private key must first be created so they exist alongside the currently active resources. Once the new resources have been created, then the `fastly.TlsActivation` can be updated to point to the new certificate. Finally, the original key/certificate resources can be deleted.
|
|
38
|
+
*
|
|
37
39
|
* ## Import
|
|
38
40
|
*
|
|
39
41
|
* A TLS activation can be imported using its ID, e.g.
|
package/tlsActivation.js
CHANGED
|
@@ -40,6 +40,8 @@ const utilities = require("./utilities");
|
|
|
40
40
|
* });
|
|
41
41
|
* ```
|
|
42
42
|
*
|
|
43
|
+
* > **Warning:** Updating the `fastly.TlsPrivateKey`/`fastly.TlsCertificate` resources should be done in multiple plan/apply steps to avoid potential downtime. The new certificate and associated private key must first be created so they exist alongside the currently active resources. Once the new resources have been created, then the `fastly.TlsActivation` can be updated to point to the new certificate. Finally, the original key/certificate resources can be deleted.
|
|
44
|
+
*
|
|
43
45
|
* ## Import
|
|
44
46
|
*
|
|
45
47
|
* A TLS activation can be imported using its ID, e.g.
|
package/tlsActivation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tlsActivation.js","sourceRoot":"","sources":["../tlsActivation.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"tlsActivation.js","sourceRoot":"","sources":["../tlsActivation.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAa,aAAc,SAAQ,MAAM,CAAC,cAAc;IAqDpD,YAAY,IAAY,EAAE,WAAoD,EAAE,IAAmC;QAC/G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA6C,CAAC;YAC5D,cAAc,CAAC,eAAe,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1E,cAAc,CAAC,iBAAiB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9E,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YAClE,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;aAAM;YACH,MAAM,IAAI,GAAG,WAA4C,CAAC;YAC1D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC1D,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;aAChE;YACD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACnD,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,cAAc,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IA5ED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA0B,EAAE,IAAmC;QACxH,OAAO,IAAI,aAAa,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACpE,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,aAAa,CAAC,YAAY,CAAC;IAC9D,CAAC;;AA1BL,sCA8EC;AAhEG,gBAAgB;AACO,0BAAY,GAAG,0CAA0C,CAAC"}
|
package/tlsCertificate.d.ts
CHANGED
|
@@ -35,6 +35,8 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
35
35
|
* // The private key has to be present before the certificate can be uploaded
|
|
36
36
|
* ```
|
|
37
37
|
*
|
|
38
|
+
* > **Warning:** Updating the `fastly.TlsPrivateKey`/`fastly.TlsCertificate` resources should be done in multiple plan/apply steps to avoid potential downtime. The new certificate and associated private key must first be created so they exist alongside the currently active resources. Once the new resources have been created, then the `fastly.TlsActivation` can be updated to point to the new certificate. Finally, the original key/certificate resources can be deleted.
|
|
39
|
+
*
|
|
38
40
|
* ## Import
|
|
39
41
|
*
|
|
40
42
|
* A certificate can be imported using its Fastly certificate ID, e.g.
|
package/tlsCertificate.js
CHANGED
|
@@ -41,6 +41,8 @@ const utilities = require("./utilities");
|
|
|
41
41
|
* // The private key has to be present before the certificate can be uploaded
|
|
42
42
|
* ```
|
|
43
43
|
*
|
|
44
|
+
* > **Warning:** Updating the `fastly.TlsPrivateKey`/`fastly.TlsCertificate` resources should be done in multiple plan/apply steps to avoid potential downtime. The new certificate and associated private key must first be created so they exist alongside the currently active resources. Once the new resources have been created, then the `fastly.TlsActivation` can be updated to point to the new certificate. Finally, the original key/certificate resources can be deleted.
|
|
45
|
+
*
|
|
44
46
|
* ## Import
|
|
45
47
|
*
|
|
46
48
|
* A certificate can be imported using its Fastly certificate ID, e.g.
|
package/tlsCertificate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tlsCertificate.js","sourceRoot":"","sources":["../tlsCertificate.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC
|
|
1
|
+
{"version":3,"file":"tlsCertificate.js","sourceRoot":"","sources":["../tlsCertificate.ts"],"names":[],"mappings":"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"}
|
package/tlsPrivateKey.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
* Uploads a Custom TLS Private Key to Fastly. This can be combined with a `
|
|
3
|
+
* Uploads a Custom TLS Private Key to Fastly. This can be combined with a `fastly.TlsCertificate` resource to provide a TLS Certificate able to be applied to a Fastly Service.
|
|
4
4
|
*
|
|
5
5
|
* The Private Key resource requires a key in PEM format, and a name to identify it.
|
|
6
6
|
*
|
package/tlsPrivateKey.js
CHANGED
|
@@ -6,7 +6,7 @@ exports.TlsPrivateKey = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("./utilities");
|
|
8
8
|
/**
|
|
9
|
-
* Uploads a Custom TLS Private Key to Fastly. This can be combined with a `
|
|
9
|
+
* Uploads a Custom TLS Private Key to Fastly. This can be combined with a `fastly.TlsCertificate` resource to provide a TLS Certificate able to be applied to a Fastly Service.
|
|
10
10
|
*
|
|
11
11
|
* The Private Key resource requires a key in PEM format, and a name to identify it.
|
|
12
12
|
*
|
package/types/input.d.ts
CHANGED
|
@@ -1111,9 +1111,6 @@ export interface ServiceComputePackage {
|
|
|
1111
1111
|
* The path to the Wasm deployment package within your local filesystem
|
|
1112
1112
|
*/
|
|
1113
1113
|
filename: pulumi.Input<string>;
|
|
1114
|
-
/**
|
|
1115
|
-
* Used to trigger updates. Must be set to a SHA512 hash of the package file specified with the filename.
|
|
1116
|
-
*/
|
|
1117
1114
|
sourceCodeHash?: pulumi.Input<string>;
|
|
1118
1115
|
}
|
|
1119
1116
|
export interface ServiceVclAcl {
|
package/types/output.d.ts
CHANGED
|
@@ -1135,9 +1135,6 @@ export interface ServiceComputePackage {
|
|
|
1135
1135
|
* The path to the Wasm deployment package within your local filesystem
|
|
1136
1136
|
*/
|
|
1137
1137
|
filename: string;
|
|
1138
|
-
/**
|
|
1139
|
-
* Used to trigger updates. Must be set to a SHA512 hash of the package file specified with the filename.
|
|
1140
|
-
*/
|
|
1141
1138
|
sourceCodeHash: string;
|
|
1142
1139
|
}
|
|
1143
1140
|
export interface ServiceVclAcl {
|