@pulumi/aws 7.4.0-alpha.1755086162 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/appsync/sourceApiAssociation.d.ts +6 -6
  2. package/appsync/sourceApiAssociation.js +2 -2
  3. package/batch/computeEnvironment.d.ts +1 -1
  4. package/bedrock/guardrail.d.ts +8 -0
  5. package/bedrock/guardrail.js +8 -0
  6. package/bedrock/guardrail.js.map +1 -1
  7. package/bedrock/inferenceProfile.d.ts +1 -1
  8. package/bedrock/inferenceProfile.js +1 -1
  9. package/cloudfront/function.d.ts +3 -3
  10. package/cloudfront/keyvaluestoreKey.d.ts +1 -1
  11. package/cloudfront/keyvaluestoreKey.js +1 -1
  12. package/cloudwatch/logAnomalyDetector.d.ts +1 -1
  13. package/cloudwatch/logAnomalyDetector.js +1 -1
  14. package/computeoptimizer/recommendationPreferences.d.ts +3 -3
  15. package/docdb/cluster.d.ts +12 -0
  16. package/docdb/cluster.js +2 -0
  17. package/docdb/cluster.js.map +1 -1
  18. package/dynamodb/resourcePolicy.d.ts +1 -1
  19. package/dynamodb/resourcePolicy.js +1 -1
  20. package/ebs/fastSnapshotRestore.d.ts +1 -1
  21. package/ebs/fastSnapshotRestore.js +1 -1
  22. package/ec2/instance.d.ts +12 -0
  23. package/ec2/instance.js +2 -0
  24. package/ec2/instance.js.map +1 -1
  25. package/ec2/spotInstanceRequest.d.ts +12 -0
  26. package/ec2/spotInstanceRequest.js +2 -0
  27. package/ec2/spotInstanceRequest.js.map +1 -1
  28. package/ecr/repository.d.ts +37 -3
  29. package/ecr/repository.js +24 -0
  30. package/ecr/repository.js.map +1 -1
  31. package/eks/getClusterVersions.d.ts +9 -0
  32. package/eks/getClusterVersions.js +6 -0
  33. package/eks/getClusterVersions.js.map +1 -1
  34. package/emr/cluster.d.ts +6 -0
  35. package/emr/cluster.js.map +1 -1
  36. package/globalaccelerator/crossAccountAttachment.d.ts +1 -1
  37. package/globalaccelerator/crossAccountAttachment.js +1 -1
  38. package/imagebuilder/workflow.d.ts +1 -1
  39. package/imagebuilder/workflow.js +1 -1
  40. package/inspector2/enabler.d.ts +8 -0
  41. package/inspector2/enabler.js +8 -0
  42. package/inspector2/enabler.js.map +1 -1
  43. package/inspector2/filter.d.ts +1 -1
  44. package/inspector2/filter.js +1 -1
  45. package/lakeformation/dataCellsFilter.d.ts +1 -1
  46. package/lakeformation/dataCellsFilter.js +1 -1
  47. package/networkfirewall/index.d.ts +3 -0
  48. package/networkfirewall/index.js +6 -1
  49. package/networkfirewall/index.js.map +1 -1
  50. package/networkfirewall/vpcEndpointAssociation.d.ts +188 -0
  51. package/networkfirewall/vpcEndpointAssociation.js +108 -0
  52. package/networkfirewall/vpcEndpointAssociation.js.map +1 -0
  53. package/opensearch/authorizeVpcEndpointAccess.d.ts +1 -1
  54. package/opensearch/authorizeVpcEndpointAccess.js +1 -1
  55. package/opensearch/domainPolicy.d.ts +8 -0
  56. package/opensearch/domainPolicy.js +8 -0
  57. package/opensearch/domainPolicy.js.map +1 -1
  58. package/package.json +2 -2
  59. package/quicksight/customPermissions.d.ts +143 -0
  60. package/quicksight/customPermissions.js +86 -0
  61. package/quicksight/customPermissions.js.map +1 -0
  62. package/quicksight/getDataSet.d.ts +0 -6
  63. package/quicksight/getDataSet.js.map +1 -1
  64. package/quicksight/getQuicksightAnalysis.d.ts +0 -6
  65. package/quicksight/getQuicksightAnalysis.js.map +1 -1
  66. package/quicksight/getQuicksightGroup.d.ts +0 -6
  67. package/quicksight/getQuicksightGroup.js.map +1 -1
  68. package/quicksight/getQuicksightUser.d.ts +4 -6
  69. package/quicksight/getQuicksightUser.js.map +1 -1
  70. package/quicksight/getTheme.d.ts +0 -6
  71. package/quicksight/getTheme.js.map +1 -1
  72. package/quicksight/index.d.ts +9 -0
  73. package/quicksight/index.js +16 -1
  74. package/quicksight/index.js.map +1 -1
  75. package/quicksight/roleCustomPermission.d.ts +116 -0
  76. package/quicksight/roleCustomPermission.js +86 -0
  77. package/quicksight/roleCustomPermission.js.map +1 -0
  78. package/quicksight/user.d.ts +7 -7
  79. package/quicksight/userCustomPermission.d.ts +116 -0
  80. package/quicksight/userCustomPermission.js +86 -0
  81. package/quicksight/userCustomPermission.js.map +1 -0
  82. package/rds/instanceDesiredState.d.ts +1 -1
  83. package/rds/instanceDesiredState.js +1 -1
  84. package/rekognition/collection.d.ts +1 -1
  85. package/rekognition/collection.js +1 -1
  86. package/route53/profilesAssociation.d.ts +1 -1
  87. package/route53/profilesAssociation.js +1 -1
  88. package/route53/profilesProfile.d.ts +1 -1
  89. package/route53/profilesProfile.js +1 -1
  90. package/route53/profilesResourceAssociation.d.ts +1 -1
  91. package/route53/profilesResourceAssociation.js +1 -1
  92. package/securityhub/standardsSubscription.d.ts +9 -3
  93. package/securityhub/standardsSubscription.js.map +1 -1
  94. package/sesv2/emailIdentityPolicy.d.ts +1 -1
  95. package/sesv2/emailIdentityPolicy.js +1 -1
  96. package/types/input.d.ts +549 -3
  97. package/types/input.js.map +1 -1
  98. package/types/output.d.ts +549 -3
  99. package/types/output.js.map +1 -1
  100. package/wafv2/getWebAcl.d.ts +50 -5
  101. package/wafv2/getWebAcl.js +38 -0
  102. package/wafv2/getWebAcl.js.map +1 -1
  103. package/wafv2/index.d.ts +3 -0
  104. package/wafv2/index.js +6 -1
  105. package/wafv2/index.js.map +1 -1
  106. package/wafv2/regexPatternSet.d.ts +3 -3
  107. package/wafv2/webAclRuleGroupAssociation.d.ts +482 -0
  108. package/wafv2/webAclRuleGroupAssociation.js +423 -0
  109. package/wafv2/webAclRuleGroupAssociation.js.map +1 -0
@@ -0,0 +1,482 @@
1
+ import * as pulumi from "@pulumi/pulumi";
2
+ import * as inputs from "../types/input";
3
+ import * as outputs from "../types/output";
4
+ /**
5
+ * 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.
6
+ *
7
+ * This resource supports both:
8
+ *
9
+ * - **Custom Rule Groups**: User-created rule groups that you manage within your AWS account
10
+ * - **Managed Rule Groups**: Pre-configured rule groups provided by AWS or third-party vendors
11
+ *
12
+ * !> **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.
13
+ *
14
+ * !> **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.
15
+ *
16
+ * > **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.
17
+ *
18
+ * ## Example Usage
19
+ *
20
+ * ### Custom Rule Group - Basic Usage
21
+ *
22
+ * ```typescript
23
+ * import * as pulumi from "@pulumi/pulumi";
24
+ * import * as aws from "@pulumi/aws";
25
+ *
26
+ * const example = new aws.wafv2.RuleGroup("example", {
27
+ * name: "example-rule-group",
28
+ * scope: "REGIONAL",
29
+ * capacity: 10,
30
+ * rules: [{
31
+ * name: "block-suspicious-requests",
32
+ * priority: 1,
33
+ * action: {
34
+ * block: {},
35
+ * },
36
+ * statement: {
37
+ * geoMatchStatement: {
38
+ * countryCodes: [
39
+ * "CN",
40
+ * "RU",
41
+ * ],
42
+ * },
43
+ * },
44
+ * visibilityConfig: {
45
+ * cloudwatchMetricsEnabled: true,
46
+ * metricName: "block-suspicious-requests",
47
+ * sampledRequestsEnabled: true,
48
+ * },
49
+ * }],
50
+ * visibilityConfig: {
51
+ * cloudwatchMetricsEnabled: true,
52
+ * metricName: "example-rule-group",
53
+ * sampledRequestsEnabled: true,
54
+ * },
55
+ * });
56
+ * const exampleWebAcl = new aws.wafv2.WebAcl("example", {
57
+ * name: "example-web-acl",
58
+ * scope: "REGIONAL",
59
+ * defaultAction: {
60
+ * allow: {},
61
+ * },
62
+ * visibilityConfig: {
63
+ * cloudwatchMetricsEnabled: true,
64
+ * metricName: "example-web-acl",
65
+ * sampledRequestsEnabled: true,
66
+ * },
67
+ * });
68
+ * const exampleWebAclRuleGroupAssociation = new aws.wafv2.WebAclRuleGroupAssociation("example", {
69
+ * ruleName: "example-rule-group-rule",
70
+ * priority: 100,
71
+ * webAclArn: exampleWebAcl.arn,
72
+ * ruleGroupReference: {
73
+ * arn: example.arn,
74
+ * },
75
+ * });
76
+ * ```
77
+ *
78
+ * ### Managed Rule Group - Basic Usage
79
+ *
80
+ * ```typescript
81
+ * import * as pulumi from "@pulumi/pulumi";
82
+ * import * as aws from "@pulumi/aws";
83
+ *
84
+ * const example = new aws.wafv2.WebAcl("example", {
85
+ * name: "example-web-acl",
86
+ * scope: "REGIONAL",
87
+ * defaultAction: {
88
+ * allow: {},
89
+ * },
90
+ * visibilityConfig: {
91
+ * cloudwatchMetricsEnabled: true,
92
+ * metricName: "example-web-acl",
93
+ * sampledRequestsEnabled: true,
94
+ * },
95
+ * });
96
+ * const managedExample = new aws.wafv2.WebAclRuleGroupAssociation("managed_example", {
97
+ * ruleName: "aws-common-rule-set",
98
+ * priority: 50,
99
+ * webAclArn: example.arn,
100
+ * managedRuleGroup: {
101
+ * name: "AWSManagedRulesCommonRuleSet",
102
+ * vendorName: "AWS",
103
+ * },
104
+ * });
105
+ * ```
106
+ *
107
+ * ### Managed Rule Group - With Version
108
+ *
109
+ * ```typescript
110
+ * import * as pulumi from "@pulumi/pulumi";
111
+ * import * as aws from "@pulumi/aws";
112
+ *
113
+ * const managedVersioned = new aws.wafv2.WebAclRuleGroupAssociation("managed_versioned", {
114
+ * ruleName: "aws-common-rule-set-versioned",
115
+ * priority: 60,
116
+ * webAclArn: example.arn,
117
+ * managedRuleGroup: {
118
+ * name: "AWSManagedRulesCommonRuleSet",
119
+ * vendorName: "AWS",
120
+ * version: "Version_1.0",
121
+ * },
122
+ * });
123
+ * ```
124
+ *
125
+ * ### Managed Rule Group - With Rule Action Overrides
126
+ *
127
+ * ```typescript
128
+ * import * as pulumi from "@pulumi/pulumi";
129
+ * import * as aws from "@pulumi/aws";
130
+ *
131
+ * const managedWithOverrides = new aws.wafv2.WebAclRuleGroupAssociation("managed_with_overrides", {
132
+ * ruleName: "aws-common-rule-set-with-overrides",
133
+ * priority: 70,
134
+ * webAclArn: example.arn,
135
+ * managedRuleGroup: {
136
+ * name: "AWSManagedRulesCommonRuleSet",
137
+ * vendorName: "AWS",
138
+ * ruleActionOverrides: [
139
+ * {
140
+ * name: "GenericRFI_BODY",
141
+ * actionToUse: {
142
+ * count: {
143
+ * customRequestHandling: {
144
+ * insertHeaders: [{
145
+ * name: "X-RFI-Override",
146
+ * value: "counted",
147
+ * }],
148
+ * },
149
+ * },
150
+ * },
151
+ * },
152
+ * {
153
+ * name: "SizeRestrictions_BODY",
154
+ * actionToUse: {
155
+ * captcha: {},
156
+ * },
157
+ * },
158
+ * ],
159
+ * },
160
+ * });
161
+ * ```
162
+ *
163
+ * ### Custom Rule Group - With Override Action
164
+ *
165
+ * ```typescript
166
+ * import * as pulumi from "@pulumi/pulumi";
167
+ * import * as aws from "@pulumi/aws";
168
+ *
169
+ * const example = new aws.wafv2.WebAclRuleGroupAssociation("example", {
170
+ * ruleName: "example-rule-group-rule",
171
+ * priority: 100,
172
+ * webAclArn: exampleAwsWafv2WebAcl.arn,
173
+ * overrideAction: "count",
174
+ * ruleGroupReference: {
175
+ * arn: exampleAwsWafv2RuleGroup.arn,
176
+ * },
177
+ * });
178
+ * ```
179
+ *
180
+ * ### Custom Rule Group - With Rule Action Overrides
181
+ *
182
+ * ```typescript
183
+ * import * as pulumi from "@pulumi/pulumi";
184
+ * import * as aws from "@pulumi/aws";
185
+ *
186
+ * const example = new aws.wafv2.RuleGroup("example", {
187
+ * name: "example-rule-group",
188
+ * scope: "REGIONAL",
189
+ * capacity: 10,
190
+ * rules: [
191
+ * {
192
+ * name: "geo-block-rule",
193
+ * priority: 1,
194
+ * action: {
195
+ * block: {},
196
+ * },
197
+ * statement: {
198
+ * geoMatchStatement: {
199
+ * countryCodes: [
200
+ * "CN",
201
+ * "RU",
202
+ * ],
203
+ * },
204
+ * },
205
+ * visibilityConfig: {
206
+ * cloudwatchMetricsEnabled: true,
207
+ * metricName: "geo-block-rule",
208
+ * sampledRequestsEnabled: true,
209
+ * },
210
+ * },
211
+ * {
212
+ * name: "rate-limit-rule",
213
+ * priority: 2,
214
+ * action: {
215
+ * block: {},
216
+ * },
217
+ * statement: {
218
+ * rateBasedStatement: {
219
+ * limit: 1000,
220
+ * aggregateKeyType: "IP",
221
+ * },
222
+ * },
223
+ * visibilityConfig: {
224
+ * cloudwatchMetricsEnabled: true,
225
+ * metricName: "rate-limit-rule",
226
+ * sampledRequestsEnabled: true,
227
+ * },
228
+ * },
229
+ * ],
230
+ * visibilityConfig: {
231
+ * cloudwatchMetricsEnabled: true,
232
+ * metricName: "example-rule-group",
233
+ * sampledRequestsEnabled: true,
234
+ * },
235
+ * });
236
+ * const exampleWebAcl = new aws.wafv2.WebAcl("example", {
237
+ * name: "example-web-acl",
238
+ * scope: "REGIONAL",
239
+ * defaultAction: {
240
+ * allow: {},
241
+ * },
242
+ * visibilityConfig: {
243
+ * cloudwatchMetricsEnabled: true,
244
+ * metricName: "example-web-acl",
245
+ * sampledRequestsEnabled: true,
246
+ * },
247
+ * });
248
+ * const exampleWebAclRuleGroupAssociation = new aws.wafv2.WebAclRuleGroupAssociation("example", {
249
+ * ruleName: "example-rule-group-rule",
250
+ * priority: 100,
251
+ * webAclArn: exampleWebAcl.arn,
252
+ * ruleGroupReference: {
253
+ * arn: example.arn,
254
+ * ruleActionOverrides: [
255
+ * {
256
+ * name: "geo-block-rule",
257
+ * actionToUse: {
258
+ * count: {
259
+ * customRequestHandling: {
260
+ * insertHeaders: [{
261
+ * name: "X-Geo-Block-Override",
262
+ * value: "counted",
263
+ * }],
264
+ * },
265
+ * },
266
+ * },
267
+ * },
268
+ * {
269
+ * name: "rate-limit-rule",
270
+ * actionToUse: {
271
+ * captcha: {
272
+ * customRequestHandling: {
273
+ * insertHeaders: [{
274
+ * name: "X-Rate-Limit-Override",
275
+ * value: "captcha-required",
276
+ * }],
277
+ * },
278
+ * },
279
+ * },
280
+ * },
281
+ * ],
282
+ * },
283
+ * });
284
+ * ```
285
+ *
286
+ * ### Custom Rule Group - CloudFront Web ACL
287
+ *
288
+ * ```typescript
289
+ * import * as pulumi from "@pulumi/pulumi";
290
+ * import * as aws from "@pulumi/aws";
291
+ *
292
+ * const cloudfrontExample = new aws.wafv2.RuleGroup("cloudfront_example", {
293
+ * name: "cloudfront-rule-group",
294
+ * scope: "CLOUDFRONT",
295
+ * capacity: 10,
296
+ * rules: [{
297
+ * name: "rate-limit",
298
+ * priority: 1,
299
+ * action: {
300
+ * block: {},
301
+ * },
302
+ * statement: {
303
+ * rateBasedStatement: {
304
+ * limit: 2000,
305
+ * aggregateKeyType: "IP",
306
+ * },
307
+ * },
308
+ * visibilityConfig: {
309
+ * cloudwatchMetricsEnabled: true,
310
+ * metricName: "rate-limit",
311
+ * sampledRequestsEnabled: true,
312
+ * },
313
+ * }],
314
+ * visibilityConfig: {
315
+ * cloudwatchMetricsEnabled: true,
316
+ * metricName: "cloudfront-rule-group",
317
+ * sampledRequestsEnabled: true,
318
+ * },
319
+ * });
320
+ * const cloudfrontExampleWebAcl = new aws.wafv2.WebAcl("cloudfront_example", {
321
+ * name: "cloudfront-web-acl",
322
+ * scope: "CLOUDFRONT",
323
+ * defaultAction: {
324
+ * allow: {},
325
+ * },
326
+ * visibilityConfig: {
327
+ * cloudwatchMetricsEnabled: true,
328
+ * metricName: "cloudfront-web-acl",
329
+ * sampledRequestsEnabled: true,
330
+ * },
331
+ * });
332
+ * const cloudfrontExampleWebAclRuleGroupAssociation = new aws.wafv2.WebAclRuleGroupAssociation("cloudfront_example", {
333
+ * ruleName: "cloudfront-rule-group-rule",
334
+ * priority: 50,
335
+ * webAclArn: cloudfrontExampleWebAcl.arn,
336
+ * ruleGroupReference: {
337
+ * arn: cloudfrontExample.arn,
338
+ * },
339
+ * });
340
+ * ```
341
+ *
342
+ * ## Import
343
+ *
344
+ * Using `pulumi import`, import WAFv2 web ACL custom rule group associations using `WebACLARN,RuleGroupARN,RuleName`. For example:
345
+ *
346
+ * ```sh
347
+ * $ 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"
348
+ * ```
349
+ * Using `pulumi import`, import WAFv2 web ACL managed rule group associations using `WebACLARN,VendorName:RuleGroupName[:Version],RuleName`. For example:
350
+ *
351
+ * ```sh
352
+ * $ 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"
353
+ * ```
354
+ */
355
+ export declare class WebAclRuleGroupAssociation extends pulumi.CustomResource {
356
+ /**
357
+ * Get an existing WebAclRuleGroupAssociation resource's state with the given name, ID, and optional extra
358
+ * properties used to qualify the lookup.
359
+ *
360
+ * @param name The _unique_ name of the resulting resource.
361
+ * @param id The _unique_ provider ID of the resource to lookup.
362
+ * @param state Any extra arguments used during the lookup.
363
+ * @param opts Optional settings to control the behavior of the CustomResource.
364
+ */
365
+ static get(name: string, id: pulumi.Input<pulumi.ID>, state?: WebAclRuleGroupAssociationState, opts?: pulumi.CustomResourceOptions): WebAclRuleGroupAssociation;
366
+ /**
367
+ * Returns true if the given object is an instance of WebAclRuleGroupAssociation. This is designed to work even
368
+ * when multiple copies of the Pulumi SDK have been loaded into the same process.
369
+ */
370
+ static isInstance(obj: any): obj is WebAclRuleGroupAssociation;
371
+ /**
372
+ * Managed Rule Group configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `ruleGroupReference`. See below.
373
+ */
374
+ readonly managedRuleGroup: pulumi.Output<outputs.wafv2.WebAclRuleGroupAssociationManagedRuleGroup | undefined>;
375
+ /**
376
+ * Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests.
377
+ */
378
+ readonly overrideAction: pulumi.Output<string>;
379
+ /**
380
+ * Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first.
381
+ */
382
+ readonly priority: pulumi.Output<number>;
383
+ /**
384
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
385
+ */
386
+ readonly region: pulumi.Output<string>;
387
+ /**
388
+ * Custom Rule Group reference configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `managedRuleGroup`. See below.
389
+ */
390
+ readonly ruleGroupReference: pulumi.Output<outputs.wafv2.WebAclRuleGroupAssociationRuleGroupReference | undefined>;
391
+ /**
392
+ * Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters.
393
+ */
394
+ readonly ruleName: pulumi.Output<string>;
395
+ readonly timeouts: pulumi.Output<outputs.wafv2.WebAclRuleGroupAssociationTimeouts | undefined>;
396
+ /**
397
+ * ARN of the Web ACL to associate the Rule Group with.
398
+ *
399
+ * The following arguments are optional:
400
+ */
401
+ readonly webAclArn: pulumi.Output<string>;
402
+ /**
403
+ * Create a WebAclRuleGroupAssociation resource with the given unique name, arguments, and options.
404
+ *
405
+ * @param name The _unique_ name of the resource.
406
+ * @param args The arguments to use to populate this resource's properties.
407
+ * @param opts A bag of options that control this resource's behavior.
408
+ */
409
+ constructor(name: string, args: WebAclRuleGroupAssociationArgs, opts?: pulumi.CustomResourceOptions);
410
+ }
411
+ /**
412
+ * Input properties used for looking up and filtering WebAclRuleGroupAssociation resources.
413
+ */
414
+ export interface WebAclRuleGroupAssociationState {
415
+ /**
416
+ * Managed Rule Group configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `ruleGroupReference`. See below.
417
+ */
418
+ managedRuleGroup?: pulumi.Input<inputs.wafv2.WebAclRuleGroupAssociationManagedRuleGroup>;
419
+ /**
420
+ * Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests.
421
+ */
422
+ overrideAction?: pulumi.Input<string>;
423
+ /**
424
+ * Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first.
425
+ */
426
+ priority?: pulumi.Input<number>;
427
+ /**
428
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
429
+ */
430
+ region?: pulumi.Input<string>;
431
+ /**
432
+ * Custom Rule Group reference configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `managedRuleGroup`. See below.
433
+ */
434
+ ruleGroupReference?: pulumi.Input<inputs.wafv2.WebAclRuleGroupAssociationRuleGroupReference>;
435
+ /**
436
+ * Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters.
437
+ */
438
+ ruleName?: pulumi.Input<string>;
439
+ timeouts?: pulumi.Input<inputs.wafv2.WebAclRuleGroupAssociationTimeouts>;
440
+ /**
441
+ * ARN of the Web ACL to associate the Rule Group with.
442
+ *
443
+ * The following arguments are optional:
444
+ */
445
+ webAclArn?: pulumi.Input<string>;
446
+ }
447
+ /**
448
+ * The set of arguments for constructing a WebAclRuleGroupAssociation resource.
449
+ */
450
+ export interface WebAclRuleGroupAssociationArgs {
451
+ /**
452
+ * Managed Rule Group configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `ruleGroupReference`. See below.
453
+ */
454
+ managedRuleGroup?: pulumi.Input<inputs.wafv2.WebAclRuleGroupAssociationManagedRuleGroup>;
455
+ /**
456
+ * Override action for the rule group. Valid values are `none` and `count`. Defaults to `none`. When set to `count`, the actions defined in the rule group rules are overridden to count matches instead of blocking or allowing requests.
457
+ */
458
+ overrideAction?: pulumi.Input<string>;
459
+ /**
460
+ * Priority of the rule within the Web ACL. Rules are evaluated in order of priority, with lower numbers evaluated first.
461
+ */
462
+ priority: pulumi.Input<number>;
463
+ /**
464
+ * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
465
+ */
466
+ region?: pulumi.Input<string>;
467
+ /**
468
+ * Custom Rule Group reference configuration. One of `ruleGroupReference` or `managedRuleGroup` is required. Conflicts with `managedRuleGroup`. See below.
469
+ */
470
+ ruleGroupReference?: pulumi.Input<inputs.wafv2.WebAclRuleGroupAssociationRuleGroupReference>;
471
+ /**
472
+ * Name of the rule to create in the Web ACL that references the rule group. Must be between 1 and 128 characters.
473
+ */
474
+ ruleName: pulumi.Input<string>;
475
+ timeouts?: pulumi.Input<inputs.wafv2.WebAclRuleGroupAssociationTimeouts>;
476
+ /**
477
+ * ARN of the Web ACL to associate the Rule Group with.
478
+ *
479
+ * The following arguments are optional:
480
+ */
481
+ webAclArn: pulumi.Input<string>;
482
+ }