@pulumi/aws 7.4.0-alpha.1754934092 → 7.4.0-alpha.1755095636
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/appsync/sourceApiAssociation.d.ts +6 -6
- package/appsync/sourceApiAssociation.js +2 -2
- package/batch/computeEnvironment.d.ts +1 -1
- package/bedrock/guardrail.d.ts +8 -0
- package/bedrock/guardrail.js +8 -0
- package/bedrock/guardrail.js.map +1 -1
- package/bedrock/inferenceProfile.d.ts +1 -1
- package/bedrock/inferenceProfile.js +1 -1
- package/cloudfront/function.d.ts +3 -3
- package/cloudfront/keyvaluestoreKey.d.ts +1 -1
- package/cloudfront/keyvaluestoreKey.js +1 -1
- package/cloudwatch/logAnomalyDetector.d.ts +1 -1
- package/cloudwatch/logAnomalyDetector.js +1 -1
- package/computeoptimizer/recommendationPreferences.d.ts +3 -3
- package/docdb/cluster.d.ts +12 -0
- package/docdb/cluster.js +2 -0
- package/docdb/cluster.js.map +1 -1
- package/dynamodb/resourcePolicy.d.ts +1 -1
- package/dynamodb/resourcePolicy.js +1 -1
- package/ebs/fastSnapshotRestore.d.ts +1 -1
- package/ebs/fastSnapshotRestore.js +1 -1
- package/ec2/instance.d.ts +12 -0
- package/ec2/instance.js +2 -0
- package/ec2/instance.js.map +1 -1
- package/ec2/spotInstanceRequest.d.ts +12 -0
- package/ec2/spotInstanceRequest.js +2 -0
- package/ec2/spotInstanceRequest.js.map +1 -1
- package/ecr/repository.d.ts +37 -3
- package/ecr/repository.js +24 -0
- package/ecr/repository.js.map +1 -1
- package/eks/getClusterVersions.d.ts +9 -0
- package/eks/getClusterVersions.js +6 -0
- package/eks/getClusterVersions.js.map +1 -1
- package/emr/cluster.d.ts +6 -0
- package/emr/cluster.js.map +1 -1
- package/globalaccelerator/crossAccountAttachment.d.ts +1 -1
- package/globalaccelerator/crossAccountAttachment.js +1 -1
- package/imagebuilder/workflow.d.ts +1 -1
- package/imagebuilder/workflow.js +1 -1
- package/inspector2/enabler.d.ts +8 -0
- package/inspector2/enabler.js +8 -0
- package/inspector2/enabler.js.map +1 -1
- package/inspector2/filter.d.ts +1 -1
- package/inspector2/filter.js +1 -1
- package/lakeformation/dataCellsFilter.d.ts +1 -1
- package/lakeformation/dataCellsFilter.js +1 -1
- package/networkfirewall/index.d.ts +3 -0
- package/networkfirewall/index.js +6 -1
- package/networkfirewall/index.js.map +1 -1
- package/networkfirewall/vpcEndpointAssociation.d.ts +188 -0
- package/networkfirewall/vpcEndpointAssociation.js +108 -0
- package/networkfirewall/vpcEndpointAssociation.js.map +1 -0
- package/opensearch/authorizeVpcEndpointAccess.d.ts +1 -1
- package/opensearch/authorizeVpcEndpointAccess.js +1 -1
- package/opensearch/domainPolicy.d.ts +8 -0
- package/opensearch/domainPolicy.js +8 -0
- package/opensearch/domainPolicy.js.map +1 -1
- package/package.json +2 -2
- package/quicksight/customPermissions.d.ts +143 -0
- package/quicksight/customPermissions.js +86 -0
- package/quicksight/customPermissions.js.map +1 -0
- package/quicksight/getDataSet.d.ts +0 -6
- package/quicksight/getDataSet.js.map +1 -1
- package/quicksight/getQuicksightAnalysis.d.ts +0 -6
- package/quicksight/getQuicksightAnalysis.js.map +1 -1
- package/quicksight/getQuicksightGroup.d.ts +0 -6
- package/quicksight/getQuicksightGroup.js.map +1 -1
- package/quicksight/getQuicksightUser.d.ts +4 -6
- package/quicksight/getQuicksightUser.js.map +1 -1
- package/quicksight/getTheme.d.ts +0 -6
- package/quicksight/getTheme.js.map +1 -1
- package/quicksight/index.d.ts +9 -0
- package/quicksight/index.js +16 -1
- package/quicksight/index.js.map +1 -1
- package/quicksight/roleCustomPermission.d.ts +116 -0
- package/quicksight/roleCustomPermission.js +86 -0
- package/quicksight/roleCustomPermission.js.map +1 -0
- package/quicksight/user.d.ts +7 -7
- package/quicksight/userCustomPermission.d.ts +116 -0
- package/quicksight/userCustomPermission.js +86 -0
- package/quicksight/userCustomPermission.js.map +1 -0
- package/rds/instanceDesiredState.d.ts +1 -1
- package/rds/instanceDesiredState.js +1 -1
- package/rekognition/collection.d.ts +1 -1
- package/rekognition/collection.js +1 -1
- package/route53/profilesAssociation.d.ts +1 -1
- package/route53/profilesAssociation.js +1 -1
- package/route53/profilesProfile.d.ts +1 -1
- package/route53/profilesProfile.js +1 -1
- package/route53/profilesResourceAssociation.d.ts +1 -1
- package/route53/profilesResourceAssociation.js +1 -1
- package/securityhub/standardsSubscription.d.ts +9 -3
- package/securityhub/standardsSubscription.js.map +1 -1
- package/sesv2/emailIdentityPolicy.d.ts +1 -1
- package/sesv2/emailIdentityPolicy.js +1 -1
- package/types/enums/lambda/index.d.ts +1 -0
- package/types/enums/lambda/index.js +1 -0
- package/types/enums/lambda/index.js.map +1 -1
- package/types/input.d.ts +549 -3
- package/types/input.js.map +1 -1
- package/types/output.d.ts +549 -3
- package/types/output.js.map +1 -1
- package/wafv2/getWebAcl.d.ts +50 -5
- package/wafv2/getWebAcl.js +38 -0
- package/wafv2/getWebAcl.js.map +1 -1
- package/wafv2/index.d.ts +3 -0
- package/wafv2/index.js +6 -1
- package/wafv2/index.js.map +1 -1
- package/wafv2/regexPatternSet.d.ts +3 -3
- package/wafv2/webAclRuleGroupAssociation.d.ts +482 -0
- package/wafv2/webAclRuleGroupAssociation.js +423 -0
- package/wafv2/webAclRuleGroupAssociation.js.map +1 -0
|
@@ -0,0 +1,423 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.WebAclRuleGroupAssociation = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* Associates a WAFv2 Rule Group (custom or managed) with a Web ACL by adding a rule that references the Rule Group. Use this resource to apply the rules defined in a Rule Group to a Web ACL without duplicating rule definitions.
|
|
10
|
+
*
|
|
11
|
+
* This resource supports both:
|
|
12
|
+
*
|
|
13
|
+
* - **Custom Rule Groups**: User-created rule groups that you manage within your AWS account
|
|
14
|
+
* - **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors
|
|
15
|
+
*
|
|
16
|
+
* !> **Warning:** Verify the rule names in your `ruleActionOverride`s carefully. With managed rule groups, WAF silently ignores any override that uses an invalid rule name. With customer-owned rule groups, invalid rule names in your overrides will cause web ACL updates to fail. An invalid rule name is any name that doesn't exactly match the case-sensitive name of an existing rule in the rule group.
|
|
17
|
+
*
|
|
18
|
+
* !> **Warning:** Using this resource will cause the associated Web ACL resource to show configuration drift in the `rule` argument unless you add `lifecycle { ignoreChanges = [rule] }` to the Web ACL resource configuration. This is because this resource modifies the Web ACL's rules outside of the Web ACL resource's direct management.
|
|
19
|
+
*
|
|
20
|
+
* > **Note:** This resource creates a rule within the Web ACL that references the entire Rule Group. The rule group's individual rules are evaluated as a unit when requests are processed by the Web ACL.
|
|
21
|
+
*
|
|
22
|
+
* ## Example Usage
|
|
23
|
+
*
|
|
24
|
+
* ### Custom Rule Group - Basic Usage
|
|
25
|
+
*
|
|
26
|
+
* ```typescript
|
|
27
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
28
|
+
* import * as aws from "@pulumi/aws";
|
|
29
|
+
*
|
|
30
|
+
* const example = new aws.wafv2.RuleGroup("example", {
|
|
31
|
+
* name: "example-rule-group",
|
|
32
|
+
* scope: "REGIONAL",
|
|
33
|
+
* capacity: 10,
|
|
34
|
+
* rules: [{
|
|
35
|
+
* name: "block-suspicious-requests",
|
|
36
|
+
* priority: 1,
|
|
37
|
+
* action: {
|
|
38
|
+
* block: {},
|
|
39
|
+
* },
|
|
40
|
+
* statement: {
|
|
41
|
+
* geoMatchStatement: {
|
|
42
|
+
* countryCodes: [
|
|
43
|
+
* "CN",
|
|
44
|
+
* "RU",
|
|
45
|
+
* ],
|
|
46
|
+
* },
|
|
47
|
+
* },
|
|
48
|
+
* visibilityConfig: {
|
|
49
|
+
* cloudwatchMetricsEnabled: true,
|
|
50
|
+
* metricName: "block-suspicious-requests",
|
|
51
|
+
* sampledRequestsEnabled: true,
|
|
52
|
+
* },
|
|
53
|
+
* }],
|
|
54
|
+
* visibilityConfig: {
|
|
55
|
+
* cloudwatchMetricsEnabled: true,
|
|
56
|
+
* metricName: "example-rule-group",
|
|
57
|
+
* sampledRequestsEnabled: true,
|
|
58
|
+
* },
|
|
59
|
+
* });
|
|
60
|
+
* const exampleWebAcl = new aws.wafv2.WebAcl("example", {
|
|
61
|
+
* name: "example-web-acl",
|
|
62
|
+
* scope: "REGIONAL",
|
|
63
|
+
* defaultAction: {
|
|
64
|
+
* allow: {},
|
|
65
|
+
* },
|
|
66
|
+
* visibilityConfig: {
|
|
67
|
+
* cloudwatchMetricsEnabled: true,
|
|
68
|
+
* metricName: "example-web-acl",
|
|
69
|
+
* sampledRequestsEnabled: true,
|
|
70
|
+
* },
|
|
71
|
+
* });
|
|
72
|
+
* const exampleWebAclRuleGroupAssociation = new aws.wafv2.WebAclRuleGroupAssociation("example", {
|
|
73
|
+
* ruleName: "example-rule-group-rule",
|
|
74
|
+
* priority: 100,
|
|
75
|
+
* webAclArn: exampleWebAcl.arn,
|
|
76
|
+
* ruleGroupReference: {
|
|
77
|
+
* arn: example.arn,
|
|
78
|
+
* },
|
|
79
|
+
* });
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* ### Managed Rule Group - Basic Usage
|
|
83
|
+
*
|
|
84
|
+
* ```typescript
|
|
85
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
86
|
+
* import * as aws from "@pulumi/aws";
|
|
87
|
+
*
|
|
88
|
+
* const example = new aws.wafv2.WebAcl("example", {
|
|
89
|
+
* name: "example-web-acl",
|
|
90
|
+
* scope: "REGIONAL",
|
|
91
|
+
* defaultAction: {
|
|
92
|
+
* allow: {},
|
|
93
|
+
* },
|
|
94
|
+
* visibilityConfig: {
|
|
95
|
+
* cloudwatchMetricsEnabled: true,
|
|
96
|
+
* metricName: "example-web-acl",
|
|
97
|
+
* sampledRequestsEnabled: true,
|
|
98
|
+
* },
|
|
99
|
+
* });
|
|
100
|
+
* const managedExample = new aws.wafv2.WebAclRuleGroupAssociation("managed_example", {
|
|
101
|
+
* ruleName: "aws-common-rule-set",
|
|
102
|
+
* priority: 50,
|
|
103
|
+
* webAclArn: example.arn,
|
|
104
|
+
* managedRuleGroup: {
|
|
105
|
+
* name: "AWSManagedRulesCommonRuleSet",
|
|
106
|
+
* vendorName: "AWS",
|
|
107
|
+
* },
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*
|
|
111
|
+
* ### Managed Rule Group - With Version
|
|
112
|
+
*
|
|
113
|
+
* ```typescript
|
|
114
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
115
|
+
* import * as aws from "@pulumi/aws";
|
|
116
|
+
*
|
|
117
|
+
* const managedVersioned = new aws.wafv2.WebAclRuleGroupAssociation("managed_versioned", {
|
|
118
|
+
* ruleName: "aws-common-rule-set-versioned",
|
|
119
|
+
* priority: 60,
|
|
120
|
+
* webAclArn: example.arn,
|
|
121
|
+
* managedRuleGroup: {
|
|
122
|
+
* name: "AWSManagedRulesCommonRuleSet",
|
|
123
|
+
* vendorName: "AWS",
|
|
124
|
+
* version: "Version_1.0",
|
|
125
|
+
* },
|
|
126
|
+
* });
|
|
127
|
+
* ```
|
|
128
|
+
*
|
|
129
|
+
* ### Managed Rule Group - With Rule Action Overrides
|
|
130
|
+
*
|
|
131
|
+
* ```typescript
|
|
132
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
133
|
+
* import * as aws from "@pulumi/aws";
|
|
134
|
+
*
|
|
135
|
+
* const managedWithOverrides = new aws.wafv2.WebAclRuleGroupAssociation("managed_with_overrides", {
|
|
136
|
+
* ruleName: "aws-common-rule-set-with-overrides",
|
|
137
|
+
* priority: 70,
|
|
138
|
+
* webAclArn: example.arn,
|
|
139
|
+
* managedRuleGroup: {
|
|
140
|
+
* name: "AWSManagedRulesCommonRuleSet",
|
|
141
|
+
* vendorName: "AWS",
|
|
142
|
+
* ruleActionOverrides: [
|
|
143
|
+
* {
|
|
144
|
+
* name: "GenericRFI_BODY",
|
|
145
|
+
* actionToUse: {
|
|
146
|
+
* count: {
|
|
147
|
+
* customRequestHandling: {
|
|
148
|
+
* insertHeaders: [{
|
|
149
|
+
* name: "X-RFI-Override",
|
|
150
|
+
* value: "counted",
|
|
151
|
+
* }],
|
|
152
|
+
* },
|
|
153
|
+
* },
|
|
154
|
+
* },
|
|
155
|
+
* },
|
|
156
|
+
* {
|
|
157
|
+
* name: "SizeRestrictions_BODY",
|
|
158
|
+
* actionToUse: {
|
|
159
|
+
* captcha: {},
|
|
160
|
+
* },
|
|
161
|
+
* },
|
|
162
|
+
* ],
|
|
163
|
+
* },
|
|
164
|
+
* });
|
|
165
|
+
* ```
|
|
166
|
+
*
|
|
167
|
+
* ### Custom Rule Group - With Override Action
|
|
168
|
+
*
|
|
169
|
+
* ```typescript
|
|
170
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
171
|
+
* import * as aws from "@pulumi/aws";
|
|
172
|
+
*
|
|
173
|
+
* const example = new aws.wafv2.WebAclRuleGroupAssociation("example", {
|
|
174
|
+
* ruleName: "example-rule-group-rule",
|
|
175
|
+
* priority: 100,
|
|
176
|
+
* webAclArn: exampleAwsWafv2WebAcl.arn,
|
|
177
|
+
* overrideAction: "count",
|
|
178
|
+
* ruleGroupReference: {
|
|
179
|
+
* arn: exampleAwsWafv2RuleGroup.arn,
|
|
180
|
+
* },
|
|
181
|
+
* });
|
|
182
|
+
* ```
|
|
183
|
+
*
|
|
184
|
+
* ### Custom Rule Group - With Rule Action Overrides
|
|
185
|
+
*
|
|
186
|
+
* ```typescript
|
|
187
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
188
|
+
* import * as aws from "@pulumi/aws";
|
|
189
|
+
*
|
|
190
|
+
* const example = new aws.wafv2.RuleGroup("example", {
|
|
191
|
+
* name: "example-rule-group",
|
|
192
|
+
* scope: "REGIONAL",
|
|
193
|
+
* capacity: 10,
|
|
194
|
+
* rules: [
|
|
195
|
+
* {
|
|
196
|
+
* name: "geo-block-rule",
|
|
197
|
+
* priority: 1,
|
|
198
|
+
* action: {
|
|
199
|
+
* block: {},
|
|
200
|
+
* },
|
|
201
|
+
* statement: {
|
|
202
|
+
* geoMatchStatement: {
|
|
203
|
+
* countryCodes: [
|
|
204
|
+
* "CN",
|
|
205
|
+
* "RU",
|
|
206
|
+
* ],
|
|
207
|
+
* },
|
|
208
|
+
* },
|
|
209
|
+
* visibilityConfig: {
|
|
210
|
+
* cloudwatchMetricsEnabled: true,
|
|
211
|
+
* metricName: "geo-block-rule",
|
|
212
|
+
* sampledRequestsEnabled: true,
|
|
213
|
+
* },
|
|
214
|
+
* },
|
|
215
|
+
* {
|
|
216
|
+
* name: "rate-limit-rule",
|
|
217
|
+
* priority: 2,
|
|
218
|
+
* action: {
|
|
219
|
+
* block: {},
|
|
220
|
+
* },
|
|
221
|
+
* statement: {
|
|
222
|
+
* rateBasedStatement: {
|
|
223
|
+
* limit: 1000,
|
|
224
|
+
* aggregateKeyType: "IP",
|
|
225
|
+
* },
|
|
226
|
+
* },
|
|
227
|
+
* visibilityConfig: {
|
|
228
|
+
* cloudwatchMetricsEnabled: true,
|
|
229
|
+
* metricName: "rate-limit-rule",
|
|
230
|
+
* sampledRequestsEnabled: true,
|
|
231
|
+
* },
|
|
232
|
+
* },
|
|
233
|
+
* ],
|
|
234
|
+
* visibilityConfig: {
|
|
235
|
+
* cloudwatchMetricsEnabled: true,
|
|
236
|
+
* metricName: "example-rule-group",
|
|
237
|
+
* sampledRequestsEnabled: true,
|
|
238
|
+
* },
|
|
239
|
+
* });
|
|
240
|
+
* const exampleWebAcl = new aws.wafv2.WebAcl("example", {
|
|
241
|
+
* name: "example-web-acl",
|
|
242
|
+
* scope: "REGIONAL",
|
|
243
|
+
* defaultAction: {
|
|
244
|
+
* allow: {},
|
|
245
|
+
* },
|
|
246
|
+
* visibilityConfig: {
|
|
247
|
+
* cloudwatchMetricsEnabled: true,
|
|
248
|
+
* metricName: "example-web-acl",
|
|
249
|
+
* sampledRequestsEnabled: true,
|
|
250
|
+
* },
|
|
251
|
+
* });
|
|
252
|
+
* const exampleWebAclRuleGroupAssociation = new aws.wafv2.WebAclRuleGroupAssociation("example", {
|
|
253
|
+
* ruleName: "example-rule-group-rule",
|
|
254
|
+
* priority: 100,
|
|
255
|
+
* webAclArn: exampleWebAcl.arn,
|
|
256
|
+
* ruleGroupReference: {
|
|
257
|
+
* arn: example.arn,
|
|
258
|
+
* ruleActionOverrides: [
|
|
259
|
+
* {
|
|
260
|
+
* name: "geo-block-rule",
|
|
261
|
+
* actionToUse: {
|
|
262
|
+
* count: {
|
|
263
|
+
* customRequestHandling: {
|
|
264
|
+
* insertHeaders: [{
|
|
265
|
+
* name: "X-Geo-Block-Override",
|
|
266
|
+
* value: "counted",
|
|
267
|
+
* }],
|
|
268
|
+
* },
|
|
269
|
+
* },
|
|
270
|
+
* },
|
|
271
|
+
* },
|
|
272
|
+
* {
|
|
273
|
+
* name: "rate-limit-rule",
|
|
274
|
+
* actionToUse: {
|
|
275
|
+
* captcha: {
|
|
276
|
+
* customRequestHandling: {
|
|
277
|
+
* insertHeaders: [{
|
|
278
|
+
* name: "X-Rate-Limit-Override",
|
|
279
|
+
* value: "captcha-required",
|
|
280
|
+
* }],
|
|
281
|
+
* },
|
|
282
|
+
* },
|
|
283
|
+
* },
|
|
284
|
+
* },
|
|
285
|
+
* ],
|
|
286
|
+
* },
|
|
287
|
+
* });
|
|
288
|
+
* ```
|
|
289
|
+
*
|
|
290
|
+
* ### Custom Rule Group - CloudFront Web ACL
|
|
291
|
+
*
|
|
292
|
+
* ```typescript
|
|
293
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
294
|
+
* import * as aws from "@pulumi/aws";
|
|
295
|
+
*
|
|
296
|
+
* const cloudfrontExample = new aws.wafv2.RuleGroup("cloudfront_example", {
|
|
297
|
+
* name: "cloudfront-rule-group",
|
|
298
|
+
* scope: "CLOUDFRONT",
|
|
299
|
+
* capacity: 10,
|
|
300
|
+
* rules: [{
|
|
301
|
+
* name: "rate-limit",
|
|
302
|
+
* priority: 1,
|
|
303
|
+
* action: {
|
|
304
|
+
* block: {},
|
|
305
|
+
* },
|
|
306
|
+
* statement: {
|
|
307
|
+
* rateBasedStatement: {
|
|
308
|
+
* limit: 2000,
|
|
309
|
+
* aggregateKeyType: "IP",
|
|
310
|
+
* },
|
|
311
|
+
* },
|
|
312
|
+
* visibilityConfig: {
|
|
313
|
+
* cloudwatchMetricsEnabled: true,
|
|
314
|
+
* metricName: "rate-limit",
|
|
315
|
+
* sampledRequestsEnabled: true,
|
|
316
|
+
* },
|
|
317
|
+
* }],
|
|
318
|
+
* visibilityConfig: {
|
|
319
|
+
* cloudwatchMetricsEnabled: true,
|
|
320
|
+
* metricName: "cloudfront-rule-group",
|
|
321
|
+
* sampledRequestsEnabled: true,
|
|
322
|
+
* },
|
|
323
|
+
* });
|
|
324
|
+
* const cloudfrontExampleWebAcl = new aws.wafv2.WebAcl("cloudfront_example", {
|
|
325
|
+
* name: "cloudfront-web-acl",
|
|
326
|
+
* scope: "CLOUDFRONT",
|
|
327
|
+
* defaultAction: {
|
|
328
|
+
* allow: {},
|
|
329
|
+
* },
|
|
330
|
+
* visibilityConfig: {
|
|
331
|
+
* cloudwatchMetricsEnabled: true,
|
|
332
|
+
* metricName: "cloudfront-web-acl",
|
|
333
|
+
* sampledRequestsEnabled: true,
|
|
334
|
+
* },
|
|
335
|
+
* });
|
|
336
|
+
* const cloudfrontExampleWebAclRuleGroupAssociation = new aws.wafv2.WebAclRuleGroupAssociation("cloudfront_example", {
|
|
337
|
+
* ruleName: "cloudfront-rule-group-rule",
|
|
338
|
+
* priority: 50,
|
|
339
|
+
* webAclArn: cloudfrontExampleWebAcl.arn,
|
|
340
|
+
* ruleGroupReference: {
|
|
341
|
+
* arn: cloudfrontExample.arn,
|
|
342
|
+
* },
|
|
343
|
+
* });
|
|
344
|
+
* ```
|
|
345
|
+
*
|
|
346
|
+
* ## Import
|
|
347
|
+
*
|
|
348
|
+
* Using `pulumi import`, import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example:
|
|
349
|
+
*
|
|
350
|
+
* ```sh
|
|
351
|
+
* $ pulumi import aws:wafv2/webAclRuleGroupAssociation:WebAclRuleGroupAssociation example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,arn:aws:wafv2:us-east-1:123456789012:regional/rulegroup/example-rule-group/87654321-4321-4321-4321-210987654321,example-rule-group-rule"
|
|
352
|
+
* ```
|
|
353
|
+
* Using `pulumi import`, import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example:
|
|
354
|
+
*
|
|
355
|
+
* ```sh
|
|
356
|
+
* $ pulumi import aws:wafv2/webAclRuleGroupAssociation:WebAclRuleGroupAssociation managed_example "arn:aws:wafv2:us-east-1:123456789012:regional/webacl/example-web-acl/12345678-1234-1234-1234-123456789012,AWS:AWSManagedRulesCommonRuleSet,aws-common-rule-set"
|
|
357
|
+
* ```
|
|
358
|
+
*/
|
|
359
|
+
class WebAclRuleGroupAssociation extends pulumi.CustomResource {
|
|
360
|
+
/**
|
|
361
|
+
* Get an existing WebAclRuleGroupAssociation resource's state with the given name, ID, and optional extra
|
|
362
|
+
* properties used to qualify the lookup.
|
|
363
|
+
*
|
|
364
|
+
* @param name The _unique_ name of the resulting resource.
|
|
365
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
366
|
+
* @param state Any extra arguments used during the lookup.
|
|
367
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
368
|
+
*/
|
|
369
|
+
static get(name, id, state, opts) {
|
|
370
|
+
return new WebAclRuleGroupAssociation(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Returns true if the given object is an instance of WebAclRuleGroupAssociation. This is designed to work even
|
|
374
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
375
|
+
*/
|
|
376
|
+
static isInstance(obj) {
|
|
377
|
+
if (obj === undefined || obj === null) {
|
|
378
|
+
return false;
|
|
379
|
+
}
|
|
380
|
+
return obj['__pulumiType'] === WebAclRuleGroupAssociation.__pulumiType;
|
|
381
|
+
}
|
|
382
|
+
constructor(name, argsOrState, opts) {
|
|
383
|
+
let resourceInputs = {};
|
|
384
|
+
opts = opts || {};
|
|
385
|
+
if (opts.id) {
|
|
386
|
+
const state = argsOrState;
|
|
387
|
+
resourceInputs["managedRuleGroup"] = state ? state.managedRuleGroup : undefined;
|
|
388
|
+
resourceInputs["overrideAction"] = state ? state.overrideAction : undefined;
|
|
389
|
+
resourceInputs["priority"] = state ? state.priority : undefined;
|
|
390
|
+
resourceInputs["region"] = state ? state.region : undefined;
|
|
391
|
+
resourceInputs["ruleGroupReference"] = state ? state.ruleGroupReference : undefined;
|
|
392
|
+
resourceInputs["ruleName"] = state ? state.ruleName : undefined;
|
|
393
|
+
resourceInputs["timeouts"] = state ? state.timeouts : undefined;
|
|
394
|
+
resourceInputs["webAclArn"] = state ? state.webAclArn : undefined;
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
const args = argsOrState;
|
|
398
|
+
if ((!args || args.priority === undefined) && !opts.urn) {
|
|
399
|
+
throw new Error("Missing required property 'priority'");
|
|
400
|
+
}
|
|
401
|
+
if ((!args || args.ruleName === undefined) && !opts.urn) {
|
|
402
|
+
throw new Error("Missing required property 'ruleName'");
|
|
403
|
+
}
|
|
404
|
+
if ((!args || args.webAclArn === undefined) && !opts.urn) {
|
|
405
|
+
throw new Error("Missing required property 'webAclArn'");
|
|
406
|
+
}
|
|
407
|
+
resourceInputs["managedRuleGroup"] = args ? args.managedRuleGroup : undefined;
|
|
408
|
+
resourceInputs["overrideAction"] = args ? args.overrideAction : undefined;
|
|
409
|
+
resourceInputs["priority"] = args ? args.priority : undefined;
|
|
410
|
+
resourceInputs["region"] = args ? args.region : undefined;
|
|
411
|
+
resourceInputs["ruleGroupReference"] = args ? args.ruleGroupReference : undefined;
|
|
412
|
+
resourceInputs["ruleName"] = args ? args.ruleName : undefined;
|
|
413
|
+
resourceInputs["timeouts"] = args ? args.timeouts : undefined;
|
|
414
|
+
resourceInputs["webAclArn"] = args ? args.webAclArn : undefined;
|
|
415
|
+
}
|
|
416
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
417
|
+
super(WebAclRuleGroupAssociation.__pulumiType, name, resourceInputs, opts);
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
exports.WebAclRuleGroupAssociation = WebAclRuleGroupAssociation;
|
|
421
|
+
/** @internal */
|
|
422
|
+
WebAclRuleGroupAssociation.__pulumiType = 'aws:wafv2/webAclRuleGroupAssociation:WebAclRuleGroupAssociation';
|
|
423
|
+
//# sourceMappingURL=webAclRuleGroupAssociation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webAclRuleGroupAssociation.js","sourceRoot":"","sources":["../../wafv2/webAclRuleGroupAssociation.ts"],"names":[],"mappings":"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"}
|