@Generated(value="jsii-pacmak/1.74.0 (build 6d08790)", date="2023-03-22T19:35:40.438Z") 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. 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.
To identify the requests that you want AWS WAF to filter, you associate the WebACL
with an API Gateway API or an Application Load Balancer.
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.regional.*; CfnWebACL cfnWebACL = CfnWebACL.Builder.create(this, "MyCfnWebACL") .defaultAction(ActionProperty.builder() .type("type") .build()) .metricName("metricName") .name("name") // the properties below are optional .rules(List.of(RuleProperty.builder() .action(ActionProperty.builder() .type("type") .build()) .priority(123) .ruleId("ruleId") .build())) .build();
Modifier and Type | Class and Description |
---|---|
static interface |
CfnWebACL.ActionProperty
Specifies the action AWS WAF takes when a web request matches or doesn't match all rule conditions.
|
static class |
CfnWebACL.Builder
A fluent builder for
CfnWebACL . |
static interface |
CfnWebACL.RuleProperty
A combination of `ByteMatchSet` , `IPSet` , and/or `SqlInjectionMatchSet` objects that identify the web requests that you want to allow, block, or count.
|
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::WAFRegional::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()
A name for 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.ActionProperty 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)
A name for 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.ActionProperty 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)