@Generated(value="jsii-pacmak/1.63.2 (build a8a8833)", date="2022-08-09T19:16:35.140Z") public class CfnWebACL extends CfnResource implements IInspectable
This is AWS WAF Classic documentation. For more information, see AWS WAF Classic in the developer guide.
For the latest version of AWS WAF , use the AWS WAF V2 API and see the AWS WAF Developer Guide . With the latest version, AWS WAF has a single set of endpoints for regional and global use.
Contains the Rules
that identify the requests that you want to allow, block, or count. In a WebACL
, you also specify a default action ( ALLOW
or BLOCK
), and the action for each Rule
that you add to a WebACL
, for example, block requests from specified IP addresses or block requests from specified referrers. You also associate the WebACL
with a Amazon CloudFront distribution to identify the requests that you want AWS WAF to filter. If you add more than one Rule
to a WebACL
, a request needs to match only one of the specifications to be allowed, blocked, or counted.
Example:
// The code below shows an example of how to instantiate this type. // The values are placeholders you should change. import software.amazon.awscdk.services.waf.*; CfnWebACL cfnWebACL = CfnWebACL.Builder.create(this, "MyCfnWebACL") .defaultAction(WafActionProperty.builder() .type("type") .build()) .metricName("metricName") .name("name") // the properties below are optional .rules(List.of(ActivatedRuleProperty.builder() .priority(123) .ruleId("ruleId") // the properties below are optional .action(WafActionProperty.builder() .type("type") .build()) .build())) .build();
Modifier and Type | Class and Description |
---|---|
static interface |
CfnWebACL.ActivatedRuleProperty
The `ActivatedRule` object in an `UpdateWebACL` request specifies a `Rule` that you want to insert or delete, the priority of the `Rule` in the `WebACL` , and the action that you want AWS WAF to take when a web request matches the `Rule` ( `ALLOW` , `BLOCK` , or `COUNT` ).
|
static class |
CfnWebACL.Builder
A fluent builder for
CfnWebACL . |
static interface |
CfnWebACL.WafActionProperty
> This is *AWS WAF Classic* documentation.
|
IInspectable.Jsii$Default, IInspectable.Jsii$Proxy
IConstruct.Jsii$Default
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
|
Modifier | Constructor and Description |
---|---|
|
CfnWebACL(Construct scope,
java.lang.String id,
CfnWebACLProps props)
Create a new `AWS::WAF::WebACL`.
|
protected |
CfnWebACL(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
CfnWebACL(software.amazon.jsii.JsiiObjectRef objRef) |
Modifier and Type | Method and Description |
---|---|
protected java.util.Map<java.lang.String,java.lang.Object> |
getCfnProperties() |
java.lang.Object |
getDefaultAction()
The action to perform if none of the `Rules` contained in the `WebACL` match.
|
java.lang.String |
getMetricName()
The name of the metrics for this `WebACL` .
|
java.lang.String |
getName()
A friendly name or description of the `WebACL` .
|
java.lang.Object |
getRules()
An array that contains the action for each `Rule` in a `WebACL` , the priority of the `Rule` , and the ID of the `Rule` .
|
void |
inspect(TreeInspector inspector)
Examines the CloudFormation resource and discloses attributes.
|
protected java.util.Map<java.lang.String,java.lang.Object> |
renderProperties(java.util.Map<java.lang.String,java.lang.Object> props) |
void |
setDefaultAction(CfnWebACL.WafActionProperty value)
The action to perform if none of the `Rules` contained in the `WebACL` match.
|
void |
setDefaultAction(IResolvable value)
The action to perform if none of the `Rules` contained in the `WebACL` match.
|
void |
setMetricName(java.lang.String value)
The name of the metrics for this `WebACL` .
|
void |
setName(java.lang.String value)
A friendly name or description of the `WebACL` .
|
void |
setRules(IResolvable value)
An array that contains the action for each `Rule` in a `WebACL` , the priority of the `Rule` , and the ID of the `Rule` .
|
void |
setRules(java.util.List<java.lang.Object> value)
An array that contains the action for each `Rule` in a `WebACL` , the priority of the `Rule` , and the ID of the `Rule` .
|
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, isCfnResource, shouldSynthesize, toString, validateProperties
getRef
getCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalId
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
public static final java.lang.String CFN_RESOURCE_TYPE_NAME
protected CfnWebACL(software.amazon.jsii.JsiiObjectRef objRef)
protected CfnWebACL(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
public CfnWebACL(Construct scope, java.lang.String id, CfnWebACLProps props)
scope
- - scope in which this resource is defined. This parameter is required.id
- - scoped id of the resource. This parameter is required.props
- - resource properties. This parameter is required.public void inspect(TreeInspector inspector)
inspect
in interface IInspectable
inspector
- - tree inspector to collect and process attributes. This parameter is required.protected java.util.Map<java.lang.String,java.lang.Object> renderProperties(java.util.Map<java.lang.String,java.lang.Object> props)
renderProperties
in class CfnResource
props
- This parameter is required.protected java.util.Map<java.lang.String,java.lang.Object> getCfnProperties()
getCfnProperties
in class CfnResource
public java.lang.Object getDefaultAction()
The action is specified by the WafAction
object.
public void setDefaultAction(IResolvable value)
The action is specified by the WafAction
object.
public void setDefaultAction(CfnWebACL.WafActionProperty value)
The action is specified by the WafAction
object.
public java.lang.String getMetricName()
The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF , including "All" and "Default_Action." You can't change MetricName
after you create the WebACL
.
public void setMetricName(java.lang.String value)
The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF , including "All" and "Default_Action." You can't change MetricName
after you create the WebACL
.
public java.lang.String getName()
You can't change the name of a WebACL
after you create it.
public void setName(java.lang.String value)
You can't change the name of a WebACL
after you create it.
public java.lang.Object getRules()
public void setRules(IResolvable value)
public void setRules(java.util.List<java.lang.Object> value)