com.amazonaws.services.waf.AWSWAFRegionalClient Maven / Gradle / Ivy
Show all versions of aws-java-sdk-waf Show documentation
/*
* Copyright 2016-2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.waf;
import org.w3c.dom.*;
import java.net.*;
import java.util.*;
import javax.annotation.Generated;
import org.apache.commons.logging.*;
import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;
import com.amazonaws.services.waf.AWSWAFRegionalClientBuilder;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.services.waf.model.*;
import com.amazonaws.services.waf.model.waf_regional.transform.*;
/**
* Client for accessing WAF Regional. All service calls made using this client are blocking, and will not return until
* the service call completes.
*
*
*
* This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the
* developer guide.
*
*
* For the latest version of AWS WAF, use the AWS WAFV2 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.
*
*
*
* This is the AWS WAF Regional Classic API Reference for using AWS WAF Classic with the AWS resources, Elastic
* Load Balancing (ELB) Application Load Balancers and API Gateway APIs. The AWS WAF Classic actions and data types
* listed in the reference are available for protecting Elastic Load Balancing (ELB) Application Load Balancers and API
* Gateway APIs. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide
* is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For
* detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the AWS WAF Classic in the
* developer guide.
*
*/
@ThreadSafe
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public class AWSWAFRegionalClient extends AmazonWebServiceClient implements AWSWAFRegional {
/** Provider for AWS credentials. */
private final AWSCredentialsProvider awsCredentialsProvider;
private static final Log log = LogFactory.getLog(AWSWAFRegional.class);
/** Default signing name for the service. */
private static final String DEFAULT_SIGNING_NAME = "waf-regional";
/** Client configuration factory providing ClientConfigurations tailored to this client */
protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory();
private final AdvancedConfig advancedConfig;
private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory(
new JsonClientMetadata()
.withProtocolVersion("1.1")
.withSupportsCbor(false)
.withSupportsIon(false)
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFLimitsExceededException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFLimitsExceededExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFStaleDataException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFStaleDataExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFInvalidPermissionPolicyException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFInvalidPermissionPolicyExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFBadRequestException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFBadRequestExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFInvalidParameterException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFInvalidParameterExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFTagOperationException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFTagOperationExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFTagOperationInternalErrorException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFTagOperationInternalErrorExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFSubscriptionNotFoundException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFSubscriptionNotFoundExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFNonEmptyEntityException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFNonEmptyEntityExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFReferencedItemException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFReferencedItemExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFNonexistentItemException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFNonexistentItemExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFServiceLinkedRoleErrorException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFServiceLinkedRoleErrorExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFInternalErrorException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFInternalErrorExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFInvalidAccountException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFInvalidAccountExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFDisallowedNameException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFDisallowedNameExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFInvalidOperationException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFInvalidOperationExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFInvalidRegexPatternException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFInvalidRegexPatternExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFNonexistentContainerException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFNonexistentContainerExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFUnavailableEntityException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFUnavailableEntityExceptionUnmarshaller.getInstance()))
.addErrorMetadata(
new JsonErrorShapeMetadata().withErrorCode("WAFEntityMigrationException").withExceptionUnmarshaller(
com.amazonaws.services.waf.model.waf_regional.transform.WAFEntityMigrationExceptionUnmarshaller.getInstance()))
.withBaseServiceExceptionClass(com.amazonaws.services.waf.model.AWSWAFException.class));
/**
* Constructs a new client to invoke service methods on WAF Regional. A credentials provider chain will be used that
* searches for credentials in this order:
*
* - Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
* - Java System Properties - aws.accessKeyId and aws.secretKey
* - Instance profile credentials delivered through the Amazon EC2 metadata service
*
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AWSWAFRegionalClientBuilder#defaultClient()}
*/
@Deprecated
public AWSWAFRegionalClient() {
this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on WAF Regional. A credentials provider chain will be used that
* searches for credentials in this order:
*
* - Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
* - Java System Properties - aws.accessKeyId and aws.secretKey
* - Instance profile credentials delivered through the Amazon EC2 metadata service
*
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientConfiguration
* The client configuration options controlling how this client connects to WAF Regional (ex: proxy settings,
* retry counts, etc.).
*
* @see DefaultAWSCredentialsProviderChain
* @deprecated use {@link AWSWAFRegionalClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AWSWAFRegionalClient(ClientConfiguration clientConfiguration) {
this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration);
}
/**
* Constructs a new client to invoke service methods on WAF Regional using the specified AWS account credentials.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentials
* The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
* @deprecated use {@link AWSWAFRegionalClientBuilder#withCredentials(AWSCredentialsProvider)} for example:
* {@code AWSWAFRegionalClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();}
*/
@Deprecated
public AWSWAFRegionalClient(AWSCredentials awsCredentials) {
this(awsCredentials, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on WAF Regional using the specified AWS account credentials and
* client configuration options.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentials
* The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to WAF Regional (ex: proxy settings,
* retry counts, etc.).
* @deprecated use {@link AWSWAFRegionalClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AWSWAFRegionalClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AWSWAFRegionalClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) {
super(clientConfiguration);
this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials);
this.advancedConfig = AdvancedConfig.EMPTY;
init();
}
/**
* Constructs a new client to invoke service methods on WAF Regional using the specified AWS account credentials
* provider.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @deprecated use {@link AWSWAFRegionalClientBuilder#withCredentials(AWSCredentialsProvider)}
*/
@Deprecated
public AWSWAFRegionalClient(AWSCredentialsProvider awsCredentialsProvider) {
this(awsCredentialsProvider, configFactory.getConfig());
}
/**
* Constructs a new client to invoke service methods on WAF Regional using the specified AWS account credentials
* provider and client configuration options.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to WAF Regional (ex: proxy settings,
* retry counts, etc.).
* @deprecated use {@link AWSWAFRegionalClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AWSWAFRegionalClientBuilder#withClientConfiguration(ClientConfiguration)}
*/
@Deprecated
public AWSWAFRegionalClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) {
this(awsCredentialsProvider, clientConfiguration, null);
}
/**
* Constructs a new client to invoke service methods on WAF Regional using the specified AWS account credentials
* provider, client configuration options, and request metric collector.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param awsCredentialsProvider
* The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
* @param clientConfiguration
* The client configuration options controlling how this client connects to WAF Regional (ex: proxy settings,
* retry counts, etc.).
* @param requestMetricCollector
* optional request metric collector
* @deprecated use {@link AWSWAFRegionalClientBuilder#withCredentials(AWSCredentialsProvider)} and
* {@link AWSWAFRegionalClientBuilder#withClientConfiguration(ClientConfiguration)} and
* {@link AWSWAFRegionalClientBuilder#withMetricsCollector(RequestMetricCollector)}
*/
@Deprecated
public AWSWAFRegionalClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration,
RequestMetricCollector requestMetricCollector) {
super(clientConfiguration, requestMetricCollector);
this.awsCredentialsProvider = awsCredentialsProvider;
this.advancedConfig = AdvancedConfig.EMPTY;
init();
}
public static AWSWAFRegionalClientBuilder builder() {
return AWSWAFRegionalClientBuilder.standard();
}
/**
* Constructs a new client to invoke service methods on WAF Regional using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AWSWAFRegionalClient(AwsSyncClientParams clientParams) {
this(clientParams, false);
}
/**
* Constructs a new client to invoke service methods on WAF Regional using the specified parameters.
*
*
* All service calls made using this new client object are blocking, and will not return until the service call
* completes.
*
* @param clientParams
* Object providing client parameters.
*/
AWSWAFRegionalClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) {
super(clientParams);
this.awsCredentialsProvider = clientParams.getCredentialsProvider();
this.advancedConfig = clientParams.getAdvancedConfig();
init();
}
private void init() {
setServiceNameIntern(DEFAULT_SIGNING_NAME);
setEndpointPrefix(ENDPOINT_PREFIX);
// calling this.setEndPoint(...) will also modify the signer accordingly
setEndpoint("https://waf-regional.us-east-1.amazonaws.com/");
HandlerChainFactory chainFactory = new HandlerChainFactory();
requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/waf/request.handlers"));
requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/waf/request.handler2s"));
requestHandler2s.addAll(chainFactory.getGlobalHandlers());
}
/**
*
*
* This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the
* developer guide.
*
*
* For the latest version of AWS WAF, use the AWS WAFV2 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.
*
*
*
* Associates a web ACL with a resource, either an application load balancer or Amazon API Gateway stage.
*
*
* @param associateWebACLRequest
* @return Result of the AssociateWebACL operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFUnavailableEntityException
* The operation failed because the entity referenced is temporarily unavailable. Retry your request.
* @sample AWSWAFRegional.AssociateWebACL
* @see AWS
* API Documentation
*/
@Override
public AssociateWebACLResult associateWebACL(AssociateWebACLRequest request) {
request = beforeClientExecution(request);
return executeAssociateWebACL(request);
}
@SdkInternalApi
final AssociateWebACLResult executeAssociateWebACL(AssociateWebACLRequest associateWebACLRequest) {
ExecutionContext executionContext = createExecutionContext(associateWebACLRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new AssociateWebACLRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateWebACLRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateWebACL");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateWebACLResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a ByteMatchSet
. You then use UpdateByteMatchSet to identify the part of a web request
* that you want AWS WAF to inspect, such as the values of the User-Agent
header or the query string.
* For example, you can create a ByteMatchSet
that matches any requests with User-Agent
* headers that contain the string BadBot
. You can then configure AWS WAF to reject those requests.
*
*
* To create and configure a ByteMatchSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateByteMatchSet
request.
*
*
* -
*
* Submit a CreateByteMatchSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateByteMatchSet
request.
*
*
* -
*
* Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect
* (for example, the header or the URI) and the value that you want AWS WAF to watch for.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createByteMatchSetRequest
* @return Result of the CreateByteMatchSet operation returned by the service.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateByteMatchSet
* @see AWS API Documentation
*/
@Override
public CreateByteMatchSetResult createByteMatchSet(CreateByteMatchSetRequest request) {
request = beforeClientExecution(request);
return executeCreateByteMatchSet(request);
}
@SdkInternalApi
final CreateByteMatchSetResult executeCreateByteMatchSet(CreateByteMatchSetRequest createByteMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(createByteMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateByteMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createByteMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateByteMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateByteMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on
* the country that the requests originate from. For example, if you're receiving a lot of requests from one or more
* countries and you want to block the requests, you can create an GeoMatchSet
that contains those
* countries and then configure AWS WAF to block the requests.
*
*
* To create and configure a GeoMatchSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateGeoMatchSet
request.
*
*
* -
*
* Submit a CreateGeoMatchSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateGeoMatchSet request.
*
*
* -
*
* Submit an UpdateGeoMatchSetSet
request to specify the countries that you want AWS WAF to watch for.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createGeoMatchSetRequest
* @return Result of the CreateGeoMatchSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateGeoMatchSet
* @see AWS
* API Documentation
*/
@Override
public CreateGeoMatchSetResult createGeoMatchSet(CreateGeoMatchSetRequest request) {
request = beforeClientExecution(request);
return executeCreateGeoMatchSet(request);
}
@SdkInternalApi
final CreateGeoMatchSetResult executeCreateGeoMatchSet(CreateGeoMatchSetRequest createGeoMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(createGeoMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateGeoMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createGeoMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateGeoMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateGeoMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates an IPSet, which you use to specify which web requests that you want to allow or block based on the
* IP addresses that the requests originate from. For example, if you're receiving a lot of requests from one or
* more individual IP addresses or one or more ranges of IP addresses and you want to block the requests, you can
* create an IPSet
that contains those IP addresses and then configure AWS WAF to block the requests.
*
*
* To create and configure an IPSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateIPSet
request.
*
*
* -
*
* Submit a CreateIPSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateIPSet request.
*
*
* -
*
* Submit an UpdateIPSet
request to specify the IP addresses that you want AWS WAF to watch for.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createIPSetRequest
* @return Result of the CreateIPSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateIPSet
* @see AWS API
* Documentation
*/
@Override
public CreateIPSetResult createIPSet(CreateIPSetRequest request) {
request = beforeClientExecution(request);
return executeCreateIPSet(request);
}
@SdkInternalApi
final CreateIPSetResult executeCreateIPSet(CreateIPSetRequest createIPSetRequest) {
ExecutionContext executionContext = createExecutionContext(createIPSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateIPSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createIPSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateIPSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateIPSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a RateBasedRule. The RateBasedRule
contains a RateLimit
, which specifies
* the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The
* RateBasedRule
also contains the IPSet
objects, ByteMatchSet
objects, and
* other predicates that identify the requests that you want to count or block if these requests exceed the
* RateLimit
.
*
*
* If you add more than one predicate to a RateBasedRule
, a request not only must exceed the
* RateLimit
, but it also must match all the conditions to be counted or blocked. For example, suppose
* you add the following to a RateBasedRule
:
*
*
* -
*
* An IPSet
that matches the IP address 192.0.2.44/32
*
*
* -
*
* A ByteMatchSet
that matches BadBot
in the User-Agent
header
*
*
*
*
* Further, you specify a RateLimit
of 1,000.
*
*
* You then add the RateBasedRule
to a WebACL
and specify that you want to block requests
* that meet the conditions in the rule. For a request to be blocked, it must come from the IP address 192.0.2.44
* and the User-Agent
header in the request must contain the value BadBot
. Further,
* requests that match these two conditions must be received at a rate of more than 1,000 requests every five
* minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops
* below 1,000 for a five-minute period, AWS WAF no longer blocks the requests.
*
*
* As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could
* add the following to a RateBasedRule
:
*
*
* -
*
* A ByteMatchSet
with FieldToMatch
of URI
*
*
* -
*
* A PositionalConstraint
of STARTS_WITH
*
*
* -
*
* A TargetString
of login
*
*
*
*
* Further, you specify a RateLimit
of 1,000.
*
*
* By adding this RateBasedRule
to a WebACL
, you could limit requests to your login page
* without affecting the rest of your site.
*
*
* To create and configure a RateBasedRule
, perform the following steps:
*
*
* -
*
* Create and update the predicates that you want to include in the rule. For more information, see
* CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateRule
request.
*
*
* -
*
* Submit a CreateRateBasedRule
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateRule request.
*
*
* -
*
* Submit an UpdateRateBasedRule
request to specify the predicates that you want to include in the
* rule.
*
*
* -
*
* Create and update a WebACL
that contains the RateBasedRule
. For more information, see
* CreateWebACL.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createRateBasedRuleRequest
* @return Result of the CreateRateBasedRule operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @throws WAFBadRequestException
* @sample AWSWAFRegional.CreateRateBasedRule
* @see AWS API Documentation
*/
@Override
public CreateRateBasedRuleResult createRateBasedRule(CreateRateBasedRuleRequest request) {
request = beforeClientExecution(request);
return executeCreateRateBasedRule(request);
}
@SdkInternalApi
final CreateRateBasedRuleResult executeCreateRateBasedRule(CreateRateBasedRuleRequest createRateBasedRuleRequest) {
ExecutionContext executionContext = createExecutionContext(createRateBasedRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateRateBasedRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createRateBasedRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRateBasedRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateRateBasedRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a web request
* that you want AWS WAF to inspect, such as the values of the User-Agent
header or the query string.
* For example, you can create a RegexMatchSet
that contains a RegexMatchTuple
that looks
* for any requests with User-Agent
headers that match a RegexPatternSet
with pattern
* B[a@]dB[o0]t
. You can then configure AWS WAF to reject those requests.
*
*
* To create and configure a RegexMatchSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateRegexMatchSet
request.
*
*
* -
*
* Submit a CreateRegexMatchSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateRegexMatchSet
request.
*
*
* -
*
* Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect
* (for example, the header or the URI) and the value, using a RegexPatternSet
, that you want AWS WAF
* to watch for.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createRegexMatchSetRequest
* @return Result of the CreateRegexMatchSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateRegexMatchSet
* @see AWS API Documentation
*/
@Override
public CreateRegexMatchSetResult createRegexMatchSet(CreateRegexMatchSetRequest request) {
request = beforeClientExecution(request);
return executeCreateRegexMatchSet(request);
}
@SdkInternalApi
final CreateRegexMatchSetResult executeCreateRegexMatchSet(CreateRegexMatchSetRequest createRegexMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(createRegexMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateRegexMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createRegexMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRegexMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateRegexMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a RegexPatternSet
. You then use UpdateRegexPatternSet to specify the regular
* expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t
. You can then
* configure AWS WAF to reject those requests.
*
*
* To create and configure a RegexPatternSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateRegexPatternSet
request.
*
*
* -
*
* Submit a CreateRegexPatternSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateRegexPatternSet
request.
*
*
* -
*
* Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createRegexPatternSetRequest
* @return Result of the CreateRegexPatternSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateRegexPatternSet
* @see AWS API Documentation
*/
@Override
public CreateRegexPatternSetResult createRegexPatternSet(CreateRegexPatternSetRequest request) {
request = beforeClientExecution(request);
return executeCreateRegexPatternSet(request);
}
@SdkInternalApi
final CreateRegexPatternSetResult executeCreateRegexPatternSet(CreateRegexPatternSetRequest createRegexPatternSetRequest) {
ExecutionContext executionContext = createExecutionContext(createRegexPatternSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateRegexPatternSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createRegexPatternSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRegexPatternSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateRegexPatternSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a Rule
, which contains the IPSet
objects, ByteMatchSet
objects,
* and other predicates that identify the requests that you want to block. If you add more than one predicate to a
* Rule
, a request must match all of the specifications to be allowed or blocked. For example, suppose
* that you add the following to a Rule
:
*
*
* -
*
* An IPSet
that matches the IP address 192.0.2.44/32
*
*
* -
*
* A ByteMatchSet
that matches BadBot
in the User-Agent
header
*
*
*
*
* You then add the Rule
to a WebACL
and specify that you want to blocks requests that
* satisfy the Rule
. For a request to be blocked, it must come from the IP address 192.0.2.44
* and the User-Agent
header in the request must contain the value BadBot
.
*
*
* To create and configure a Rule
, perform the following steps:
*
*
* -
*
* Create and update the predicates that you want to include in the Rule
. For more information, see
* CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateRule
request.
*
*
* -
*
* Submit a CreateRule
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateRule request.
*
*
* -
*
* Submit an UpdateRule
request to specify the predicates that you want to include in the
* Rule
.
*
*
* -
*
* Create and update a WebACL
that contains the Rule
. For more information, see
* CreateWebACL.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createRuleRequest
* @return Result of the CreateRule operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @throws WAFBadRequestException
* @sample AWSWAFRegional.CreateRule
* @see AWS API
* Documentation
*/
@Override
public CreateRuleResult createRule(CreateRuleRequest request) {
request = beforeClientExecution(request);
return executeCreateRule(request);
}
@SdkInternalApi
final CreateRuleResult executeCreateRule(CreateRuleRequest createRuleRequest) {
ExecutionContext executionContext = createExecutionContext(createRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a RuleGroup
. A rule group is a collection of predefined rules that you add to a web ACL. You
* use UpdateRuleGroup to add rules to the rule group.
*
*
* Rule groups are subject to the following limits:
*
*
* -
*
* Three rule groups per account. You can request an increase to this limit by contacting customer support.
*
*
* -
*
* One rule group per web ACL.
*
*
* -
*
* Ten rules per rule group.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createRuleGroupRequest
* @return Result of the CreateRuleGroup operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @throws WAFBadRequestException
* @sample AWSWAFRegional.CreateRuleGroup
* @see AWS
* API Documentation
*/
@Override
public CreateRuleGroupResult createRuleGroup(CreateRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeCreateRuleGroup(request);
}
@SdkInternalApi
final CreateRuleGroupResult executeCreateRuleGroup(CreateRuleGroupRequest createRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(createRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a SizeConstraintSet
. You then use UpdateSizeConstraintSet to identify the part of a
* web request that you want AWS WAF to check for length, such as the length of the User-Agent
header
* or the length of the query string. For example, you can create a SizeConstraintSet
that matches any
* requests that have a query string that is longer than 100 bytes. You can then configure AWS WAF to reject those
* requests.
*
*
* To create and configure a SizeConstraintSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateSizeConstraintSet
request.
*
*
* -
*
* Submit a CreateSizeConstraintSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateSizeConstraintSet
request.
*
*
* -
*
* Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to
* inspect (for example, the header or the URI) and the value that you want AWS WAF to watch for.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createSizeConstraintSetRequest
* @return Result of the CreateSizeConstraintSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateSizeConstraintSet
* @see AWS API Documentation
*/
@Override
public CreateSizeConstraintSetResult createSizeConstraintSet(CreateSizeConstraintSetRequest request) {
request = beforeClientExecution(request);
return executeCreateSizeConstraintSet(request);
}
@SdkInternalApi
final CreateSizeConstraintSetResult executeCreateSizeConstraintSet(CreateSizeConstraintSetRequest createSizeConstraintSetRequest) {
ExecutionContext executionContext = createExecutionContext(createSizeConstraintSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateSizeConstraintSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createSizeConstraintSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateSizeConstraintSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateSizeConstraintSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of
* SQL code in a specified part of web requests. AWS WAF searches for character sequences that are likely to be
* malicious strings.
*
*
* To create and configure a SqlInjectionMatchSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateSqlInjectionMatchSet
request.
*
*
* -
*
* Submit a CreateSqlInjectionMatchSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateSqlInjectionMatchSet request.
*
*
* -
*
* Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to
* allow, block, or count malicious SQL code.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createSqlInjectionMatchSetRequest
* A request to create a SqlInjectionMatchSet.
* @return Result of the CreateSqlInjectionMatchSet operation returned by the service.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateSqlInjectionMatchSet
* @see AWS API Documentation
*/
@Override
public CreateSqlInjectionMatchSetResult createSqlInjectionMatchSet(CreateSqlInjectionMatchSetRequest request) {
request = beforeClientExecution(request);
return executeCreateSqlInjectionMatchSet(request);
}
@SdkInternalApi
final CreateSqlInjectionMatchSetResult executeCreateSqlInjectionMatchSet(CreateSqlInjectionMatchSetRequest createSqlInjectionMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(createSqlInjectionMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateSqlInjectionMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createSqlInjectionMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateSqlInjectionMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateSqlInjectionMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates a WebACL
, which contains the Rules
that identify the CloudFront web requests
* that you want to allow, block, or count. AWS WAF evaluates Rules
in order based on the value of
* Priority
for each Rule
.
*
*
* You also specify a default action, either ALLOW
or BLOCK
. If a web request doesn't
* match any of the Rules
in a WebACL
, AWS WAF responds to the request with the default
* action.
*
*
* To create and configure a WebACL
, perform the following steps:
*
*
* -
*
* Create and update the ByteMatchSet
objects and other predicates that you want to include in
* Rules
. For more information, see CreateByteMatchSet, UpdateByteMatchSet,
* CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
*
*
* -
*
* Create and update the Rules
that you want to include in the WebACL
. For more
* information, see CreateRule and UpdateRule.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateWebACL
request.
*
*
* -
*
* Submit a CreateWebACL
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateWebACL request.
*
*
* -
*
* Submit an UpdateWebACL request to specify the Rules
that you want to include in the
* WebACL
, to specify the default action, and to associate the WebACL
with a CloudFront
* distribution.
*
*
*
*
* For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.
*
*
* @param createWebACLRequest
* @return Result of the CreateWebACL operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @throws WAFBadRequestException
* @sample AWSWAFRegional.CreateWebACL
* @see AWS API
* Documentation
*/
@Override
public CreateWebACLResult createWebACL(CreateWebACLRequest request) {
request = beforeClientExecution(request);
return executeCreateWebACL(request);
}
@SdkInternalApi
final CreateWebACLResult executeCreateWebACL(CreateWebACLRequest createWebACLRequest) {
ExecutionContext executionContext = createExecutionContext(createWebACLRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateWebACLRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createWebACLRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateWebACL");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateWebACLResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
* Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the specified Amazon S3 bucket. Then,
* in CloudFormation, you create a stack from the template, to create the web ACL and its resources in AWS WAFV2.
* Use this to migrate your AWS WAF Classic web ACL to the latest version of AWS WAF.
*
*
* This is part of a larger migration procedure for web ACLs from AWS WAF Classic to the latest version of AWS WAF.
* For the full procedure, including caveats and manual steps to complete the migration and switch over to the new
* web ACL, see Migrating your AWS
* WAF Classic resources to AWS WAF in the AWS WAF Developer Guide.
*
*
* @param createWebACLMigrationStackRequest
* @return Result of the CreateWebACLMigrationStack operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFInvalidOperationException
* The operation failed because there was nothing to do. For example:
*
* -
*
* You tried to remove a Rule
from a WebACL
, but the Rule
isn't in
* the specified WebACL
.
*
*
* -
*
* You tried to remove an IP address from an IPSet
, but the IP address isn't in the specified
* IPSet
.
*
*
* -
*
* You tried to remove a ByteMatchTuple
from a ByteMatchSet
, but the
* ByteMatchTuple
isn't in the specified WebACL
.
*
*
* -
*
* You tried to add a Rule
to a WebACL
, but the Rule
already exists
* in the specified WebACL
.
*
*
* -
*
* You tried to add a ByteMatchTuple
to a ByteMatchSet
, but the
* ByteMatchTuple
already exists in the specified WebACL
.
*
*
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFEntityMigrationException
* The operation failed due to a problem with the migration. The failure cause is provided in the exception,
* in the MigrationErrorType
:
*
* -
*
* ENTITY_NOT_SUPPORTED
- The web ACL has an unsupported entity but the
* IgnoreUnsupportedType
is not set to true.
*
*
* -
*
* ENTITY_NOT_FOUND
- The web ACL doesn't exist.
*
*
* -
*
* S3_BUCKET_NO_PERMISSION
- You don't have permission to perform the PutObject
* action to the specified Amazon S3 bucket.
*
*
* -
*
* S3_BUCKET_NOT_ACCESSIBLE
- The bucket policy doesn't allow AWS WAF to perform the
* PutObject
action in the bucket.
*
*
* -
*
* S3_BUCKET_NOT_FOUND
- The S3 bucket doesn't exist.
*
*
* -
*
* S3_BUCKET_INVALID_REGION
- The S3 bucket is not in the same Region as the web ACL.
*
*
* -
*
* S3_INTERNAL_ERROR
- AWS WAF failed to create the template in the S3 bucket for another
* reason.
*
*
* @sample AWSWAFRegional.CreateWebACLMigrationStack
* @see AWS API Documentation
*/
@Override
public CreateWebACLMigrationStackResult createWebACLMigrationStack(CreateWebACLMigrationStackRequest request) {
request = beforeClientExecution(request);
return executeCreateWebACLMigrationStack(request);
}
@SdkInternalApi
final CreateWebACLMigrationStackResult executeCreateWebACLMigrationStack(CreateWebACLMigrationStackRequest createWebACLMigrationStackRequest) {
ExecutionContext executionContext = createExecutionContext(createWebACLMigrationStackRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateWebACLMigrationStackRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(createWebACLMigrationStackRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateWebACLMigrationStack");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new CreateWebACLMigrationStackResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting
* attacks in the specified part of web requests. AWS WAF searches for character sequences that are likely to be
* malicious strings.
*
*
* To create and configure an XssMatchSet
, perform the following steps:
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* CreateXssMatchSet
request.
*
*
* -
*
* Submit a CreateXssMatchSet
request.
*
*
* -
*
* Use GetChangeToken
to get the change token that you provide in the ChangeToken
* parameter of an UpdateXssMatchSet request.
*
*
* -
*
* Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to allow,
* block, or count cross-site scripting attacks.
*
*
*
*
* For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
*
*
* @param createXssMatchSetRequest
* A request to create an XssMatchSet.
* @return Result of the CreateXssMatchSet operation returned by the service.
* @throws WAFDisallowedNameException
* The name specified is invalid.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFLimitsExceededException
* The operation exceeds a resource limit, for example, the maximum number of WebACL
objects
* that you can create for an AWS account. For more information, see Limits in the AWS WAF
* Developer Guide.
* @sample AWSWAFRegional.CreateXssMatchSet
* @see AWS
* API Documentation
*/
@Override
public CreateXssMatchSetResult createXssMatchSet(CreateXssMatchSetRequest request) {
request = beforeClientExecution(request);
return executeCreateXssMatchSet(request);
}
@SdkInternalApi
final CreateXssMatchSetResult executeCreateXssMatchSet(CreateXssMatchSetRequest createXssMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(createXssMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new CreateXssMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createXssMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateXssMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateXssMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet
if it's still used in any
* Rules
or if it still includes any ByteMatchTuple objects (any filters).
*
*
* If you just want to remove a ByteMatchSet
from a Rule
, use UpdateRule.
*
*
* To permanently delete a ByteMatchSet
, perform the following steps:
*
*
* -
*
* Update the ByteMatchSet
to remove filters, if any. For more information, see
* UpdateByteMatchSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteByteMatchSet
request.
*
*
* -
*
* Submit a DeleteByteMatchSet
request.
*
*
*
*
* @param deleteByteMatchSetRequest
* @return Result of the DeleteByteMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteByteMatchSet
* @see AWS API Documentation
*/
@Override
public DeleteByteMatchSetResult deleteByteMatchSet(DeleteByteMatchSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteByteMatchSet(request);
}
@SdkInternalApi
final DeleteByteMatchSetResult executeDeleteByteMatchSet(DeleteByteMatchSetRequest deleteByteMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteByteMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteByteMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteByteMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteByteMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteByteMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet
if it's still used in any
* Rules
or if it still includes any countries.
*
*
* If you just want to remove a GeoMatchSet
from a Rule
, use UpdateRule.
*
*
* To permanently delete a GeoMatchSet
from AWS WAF, perform the following steps:
*
*
* -
*
* Update the GeoMatchSet
to remove any countries. For more information, see UpdateGeoMatchSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteGeoMatchSet
request.
*
*
* -
*
* Submit a DeleteGeoMatchSet
request.
*
*
*
*
* @param deleteGeoMatchSetRequest
* @return Result of the DeleteGeoMatchSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteGeoMatchSet
* @see AWS
* API Documentation
*/
@Override
public DeleteGeoMatchSetResult deleteGeoMatchSet(DeleteGeoMatchSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteGeoMatchSet(request);
}
@SdkInternalApi
final DeleteGeoMatchSetResult executeDeleteGeoMatchSet(DeleteGeoMatchSetRequest deleteGeoMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteGeoMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteGeoMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteGeoMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteGeoMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteGeoMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes an IPSet. You can't delete an IPSet
if it's still used in any
* Rules
or if it still includes any IP addresses.
*
*
* If you just want to remove an IPSet
from a Rule
, use UpdateRule.
*
*
* To permanently delete an IPSet
from AWS WAF, perform the following steps:
*
*
* -
*
* Update the IPSet
to remove IP address ranges, if any. For more information, see UpdateIPSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteIPSet
request.
*
*
* -
*
* Submit a DeleteIPSet
request.
*
*
*
*
* @param deleteIPSetRequest
* @return Result of the DeleteIPSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteIPSet
* @see AWS API
* Documentation
*/
@Override
public DeleteIPSetResult deleteIPSet(DeleteIPSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteIPSet(request);
}
@SdkInternalApi
final DeleteIPSetResult executeDeleteIPSet(DeleteIPSetRequest deleteIPSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteIPSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteIPSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteIPSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteIPSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteIPSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes the LoggingConfiguration from the specified web ACL.
*
*
* @param deleteLoggingConfigurationRequest
* @return Result of the DeleteLoggingConfiguration operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @sample AWSWAFRegional.DeleteLoggingConfiguration
* @see AWS API Documentation
*/
@Override
public DeleteLoggingConfigurationResult deleteLoggingConfiguration(DeleteLoggingConfigurationRequest request) {
request = beforeClientExecution(request);
return executeDeleteLoggingConfiguration(request);
}
@SdkInternalApi
final DeleteLoggingConfigurationResult executeDeleteLoggingConfiguration(DeleteLoggingConfigurationRequest deleteLoggingConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(deleteLoggingConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteLoggingConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteLoggingConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteLoggingConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteLoggingConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes an IAM policy from the specified RuleGroup.
*
*
* The user making the request must be the owner of the RuleGroup.
*
*
* @param deletePermissionPolicyRequest
* @return Result of the DeletePermissionPolicy operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.DeletePermissionPolicy
* @see AWS API Documentation
*/
@Override
public DeletePermissionPolicyResult deletePermissionPolicy(DeletePermissionPolicyRequest request) {
request = beforeClientExecution(request);
return executeDeletePermissionPolicy(request);
}
@SdkInternalApi
final DeletePermissionPolicyResult executeDeletePermissionPolicy(DeletePermissionPolicyRequest deletePermissionPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(deletePermissionPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeletePermissionPolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deletePermissionPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeletePermissionPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeletePermissionPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a RateBasedRule. You can't delete a rule if it's still used in any WebACL
* objects or if it still includes any predicates, such as ByteMatchSet
objects.
*
*
* If you just want to remove a rule from a WebACL
, use UpdateWebACL.
*
*
* To permanently delete a RateBasedRule
from AWS WAF, perform the following steps:
*
*
* -
*
* Update the RateBasedRule
to remove predicates, if any. For more information, see
* UpdateRateBasedRule.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteRateBasedRule
request.
*
*
* -
*
* Submit a DeleteRateBasedRule
request.
*
*
*
*
* @param deleteRateBasedRuleRequest
* @return Result of the DeleteRateBasedRule operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @sample AWSWAFRegional.DeleteRateBasedRule
* @see AWS API Documentation
*/
@Override
public DeleteRateBasedRuleResult deleteRateBasedRule(DeleteRateBasedRuleRequest request) {
request = beforeClientExecution(request);
return executeDeleteRateBasedRule(request);
}
@SdkInternalApi
final DeleteRateBasedRuleResult executeDeleteRateBasedRule(DeleteRateBasedRuleRequest deleteRateBasedRuleRequest) {
ExecutionContext executionContext = createExecutionContext(deleteRateBasedRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteRateBasedRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRateBasedRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRateBasedRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteRateBasedRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet
if it's still used in
* any Rules
or if it still includes any RegexMatchTuples
objects (any filters).
*
*
* If you just want to remove a RegexMatchSet
from a Rule
, use UpdateRule.
*
*
* To permanently delete a RegexMatchSet
, perform the following steps:
*
*
* -
*
* Update the RegexMatchSet
to remove filters, if any. For more information, see
* UpdateRegexMatchSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteRegexMatchSet
request.
*
*
* -
*
* Submit a DeleteRegexMatchSet
request.
*
*
*
*
* @param deleteRegexMatchSetRequest
* @return Result of the DeleteRegexMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteRegexMatchSet
* @see AWS API Documentation
*/
@Override
public DeleteRegexMatchSetResult deleteRegexMatchSet(DeleteRegexMatchSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteRegexMatchSet(request);
}
@SdkInternalApi
final DeleteRegexMatchSetResult executeDeleteRegexMatchSet(DeleteRegexMatchSetRequest deleteRegexMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteRegexMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteRegexMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRegexMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRegexMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteRegexMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet
if it's still used
* in any RegexMatchSet
or if the RegexPatternSet
is not empty.
*
*
* @param deleteRegexPatternSetRequest
* @return Result of the DeleteRegexPatternSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteRegexPatternSet
* @see AWS API Documentation
*/
@Override
public DeleteRegexPatternSetResult deleteRegexPatternSet(DeleteRegexPatternSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteRegexPatternSet(request);
}
@SdkInternalApi
final DeleteRegexPatternSetResult executeDeleteRegexPatternSet(DeleteRegexPatternSetRequest deleteRegexPatternSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteRegexPatternSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteRegexPatternSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRegexPatternSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRegexPatternSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory
.createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteRegexPatternSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a Rule. You can't delete a Rule
if it's still used in any
* WebACL
objects or if it still includes any predicates, such as ByteMatchSet
objects.
*
*
* If you just want to remove a Rule
from a WebACL
, use UpdateWebACL.
*
*
* To permanently delete a Rule
from AWS WAF, perform the following steps:
*
*
* -
*
* Update the Rule
to remove predicates, if any. For more information, see UpdateRule.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteRule
request.
*
*
* -
*
* Submit a DeleteRule
request.
*
*
*
*
* @param deleteRuleRequest
* @return Result of the DeleteRule operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @sample AWSWAFRegional.DeleteRule
* @see AWS API
* Documentation
*/
@Override
public DeleteRuleResult deleteRule(DeleteRuleRequest request) {
request = beforeClientExecution(request);
return executeDeleteRule(request);
}
@SdkInternalApi
final DeleteRuleResult executeDeleteRule(DeleteRuleRequest deleteRuleRequest) {
ExecutionContext executionContext = createExecutionContext(deleteRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a RuleGroup. You can't delete a RuleGroup
if it's still used in any
* WebACL
objects or if it still includes any rules.
*
*
* If you just want to remove a RuleGroup
from a WebACL
, use UpdateWebACL.
*
*
* To permanently delete a RuleGroup
from AWS WAF, perform the following steps:
*
*
* -
*
* Update the RuleGroup
to remove rules, if any. For more information, see UpdateRuleGroup.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteRuleGroup
request.
*
*
* -
*
* Submit a DeleteRuleGroup
request.
*
*
*
*
* @param deleteRuleGroupRequest
* @return Result of the DeleteRuleGroup operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @throws WAFInvalidOperationException
* The operation failed because there was nothing to do. For example:
*
* -
*
* You tried to remove a Rule
from a WebACL
, but the Rule
isn't in
* the specified WebACL
.
*
*
* -
*
* You tried to remove an IP address from an IPSet
, but the IP address isn't in the specified
* IPSet
.
*
*
* -
*
* You tried to remove a ByteMatchTuple
from a ByteMatchSet
, but the
* ByteMatchTuple
isn't in the specified WebACL
.
*
*
* -
*
* You tried to add a Rule
to a WebACL
, but the Rule
already exists
* in the specified WebACL
.
*
*
* -
*
* You tried to add a ByteMatchTuple
to a ByteMatchSet
, but the
* ByteMatchTuple
already exists in the specified WebACL
.
*
*
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @sample AWSWAFRegional.DeleteRuleGroup
* @see AWS
* API Documentation
*/
@Override
public DeleteRuleGroupResult deleteRuleGroup(DeleteRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeDeleteRuleGroup(request);
}
@SdkInternalApi
final DeleteRuleGroupResult executeDeleteRuleGroup(DeleteRuleGroupRequest deleteRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(deleteRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet
if it's still
* used in any Rules
or if it still includes any SizeConstraint objects (any filters).
*
*
* If you just want to remove a SizeConstraintSet
from a Rule
, use UpdateRule.
*
*
* To permanently delete a SizeConstraintSet
, perform the following steps:
*
*
* -
*
* Update the SizeConstraintSet
to remove filters, if any. For more information, see
* UpdateSizeConstraintSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteSizeConstraintSet
request.
*
*
* -
*
* Submit a DeleteSizeConstraintSet
request.
*
*
*
*
* @param deleteSizeConstraintSetRequest
* @return Result of the DeleteSizeConstraintSet operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteSizeConstraintSet
* @see AWS API Documentation
*/
@Override
public DeleteSizeConstraintSetResult deleteSizeConstraintSet(DeleteSizeConstraintSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteSizeConstraintSet(request);
}
@SdkInternalApi
final DeleteSizeConstraintSetResult executeDeleteSizeConstraintSet(DeleteSizeConstraintSetRequest deleteSizeConstraintSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteSizeConstraintSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteSizeConstraintSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteSizeConstraintSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteSizeConstraintSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteSizeConstraintSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet
if it's
* still used in any Rules
or if it still contains any SqlInjectionMatchTuple objects.
*
*
* If you just want to remove a SqlInjectionMatchSet
from a Rule
, use UpdateRule.
*
*
* To permanently delete a SqlInjectionMatchSet
from AWS WAF, perform the following steps:
*
*
* -
*
* Update the SqlInjectionMatchSet
to remove filters, if any. For more information, see
* UpdateSqlInjectionMatchSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteSqlInjectionMatchSet
request.
*
*
* -
*
* Submit a DeleteSqlInjectionMatchSet
request.
*
*
*
*
* @param deleteSqlInjectionMatchSetRequest
* A request to delete a SqlInjectionMatchSet from AWS WAF.
* @return Result of the DeleteSqlInjectionMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteSqlInjectionMatchSet
* @see AWS API Documentation
*/
@Override
public DeleteSqlInjectionMatchSetResult deleteSqlInjectionMatchSet(DeleteSqlInjectionMatchSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteSqlInjectionMatchSet(request);
}
@SdkInternalApi
final DeleteSqlInjectionMatchSetResult executeDeleteSqlInjectionMatchSet(DeleteSqlInjectionMatchSetRequest deleteSqlInjectionMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteSqlInjectionMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteSqlInjectionMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(deleteSqlInjectionMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteSqlInjectionMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new DeleteSqlInjectionMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes a WebACL. You can't delete a WebACL
if it still contains any
* Rules
.
*
*
* To delete a WebACL
, perform the following steps:
*
*
* -
*
* Update the WebACL
to remove Rules
, if any. For more information, see
* UpdateWebACL.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteWebACL
request.
*
*
* -
*
* Submit a DeleteWebACL
request.
*
*
*
*
* @param deleteWebACLRequest
* @return Result of the DeleteWebACL operation returned by the service.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @sample AWSWAFRegional.DeleteWebACL
* @see AWS API
* Documentation
*/
@Override
public DeleteWebACLResult deleteWebACL(DeleteWebACLRequest request) {
request = beforeClientExecution(request);
return executeDeleteWebACL(request);
}
@SdkInternalApi
final DeleteWebACLResult executeDeleteWebACL(DeleteWebACLRequest deleteWebACLRequest) {
ExecutionContext executionContext = createExecutionContext(deleteWebACLRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteWebACLRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteWebACLRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteWebACL");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteWebACLResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Permanently deletes an XssMatchSet. You can't delete an XssMatchSet
if it's still used in any
* Rules
or if it still contains any XssMatchTuple objects.
*
*
* If you just want to remove an XssMatchSet
from a Rule
, use UpdateRule.
*
*
* To permanently delete an XssMatchSet
from AWS WAF, perform the following steps:
*
*
* -
*
* Update the XssMatchSet
to remove filters, if any. For more information, see
* UpdateXssMatchSet.
*
*
* -
*
* Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
* DeleteXssMatchSet
request.
*
*
* -
*
* Submit a DeleteXssMatchSet
request.
*
*
*
*
* @param deleteXssMatchSetRequest
* A request to delete an XssMatchSet from AWS WAF.
* @return Result of the DeleteXssMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFReferencedItemException
* The operation failed because you tried to delete an object that is still in use. For example:
*
* -
*
* You tried to delete a ByteMatchSet
that is still referenced by a Rule
.
*
*
* -
*
* You tried to delete a Rule
that is still referenced by a WebACL
.
*
*
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFNonEmptyEntityException
* The operation failed because you tried to delete an object that isn't empty. For example:
*
* -
*
* You tried to delete a WebACL
that still contains one or more Rule
objects.
*
*
* -
*
* You tried to delete a Rule
that still contains one or more ByteMatchSet
objects
* or other predicates.
*
*
* -
*
* You tried to delete a ByteMatchSet
that contains one or more ByteMatchTuple
* objects.
*
*
* -
*
* You tried to delete an IPSet
that references one or more IP addresses.
*
*
* @sample AWSWAFRegional.DeleteXssMatchSet
* @see AWS
* API Documentation
*/
@Override
public DeleteXssMatchSetResult deleteXssMatchSet(DeleteXssMatchSetRequest request) {
request = beforeClientExecution(request);
return executeDeleteXssMatchSet(request);
}
@SdkInternalApi
final DeleteXssMatchSetResult executeDeleteXssMatchSet(DeleteXssMatchSetRequest deleteXssMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(deleteXssMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DeleteXssMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteXssMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteXssMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteXssMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the
* developer guide.
*
*
* For the latest version of AWS WAF, use the AWS WAFV2 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.
*
*
*
* Removes a web ACL from the specified resource, either an application load balancer or Amazon API Gateway stage.
*
*
* @param disassociateWebACLRequest
* @return Result of the DisassociateWebACL operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.DisassociateWebACL
* @see AWS API Documentation
*/
@Override
public DisassociateWebACLResult disassociateWebACL(DisassociateWebACLRequest request) {
request = beforeClientExecution(request);
return executeDisassociateWebACL(request);
}
@SdkInternalApi
final DisassociateWebACLResult executeDisassociateWebACL(DisassociateWebACLRequest disassociateWebACLRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateWebACLRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new DisassociateWebACLRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disassociateWebACLRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateWebACL");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateWebACLResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the ByteMatchSet specified by ByteMatchSetId
.
*
*
* @param getByteMatchSetRequest
* @return Result of the GetByteMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetByteMatchSet
* @see AWS
* API Documentation
*/
@Override
public GetByteMatchSetResult getByteMatchSet(GetByteMatchSetRequest request) {
request = beforeClientExecution(request);
return executeGetByteMatchSet(request);
}
@SdkInternalApi
final GetByteMatchSetResult executeGetByteMatchSet(GetByteMatchSetRequest getByteMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(getByteMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetByteMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getByteMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetByteMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetByteMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in
* the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting
* requests to AWS WAF.
*
*
* Each create, update, or delete request must use a unique change token. If your application submits a
* GetChangeToken
request and then submits a second GetChangeToken
request before
* submitting a create, update, or delete request, the second GetChangeToken
request returns the same
* value as the first GetChangeToken
request.
*
*
* When you use a change token in a create, update, or delete request, the status of the change token changes to
* PENDING
, which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use
* GetChangeTokenStatus
to determine the status of your change token.
*
*
* @param getChangeTokenRequest
* @return Result of the GetChangeToken operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @sample AWSWAFRegional.GetChangeToken
* @see AWS
* API Documentation
*/
@Override
public GetChangeTokenResult getChangeToken(GetChangeTokenRequest request) {
request = beforeClientExecution(request);
return executeGetChangeToken(request);
}
@SdkInternalApi
final GetChangeTokenResult executeGetChangeToken(GetChangeTokenRequest getChangeTokenRequest) {
ExecutionContext executionContext = createExecutionContext(getChangeTokenRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetChangeTokenRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getChangeTokenRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetChangeToken");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetChangeTokenResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the status of a ChangeToken
that you got by calling GetChangeToken.
* ChangeTokenStatus
is one of the following values:
*
*
* -
*
* PROVISIONED
: You requested the change token by calling GetChangeToken
, but you haven't
* used it yet in a call to create, update, or delete an AWS WAF object.
*
*
* -
*
* PENDING
: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.
*
*
* -
*
* INSYNC
: Propagation is complete.
*
*
*
*
* @param getChangeTokenStatusRequest
* @return Result of the GetChangeTokenStatus operation returned by the service.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @sample AWSWAFRegional.GetChangeTokenStatus
* @see AWS API Documentation
*/
@Override
public GetChangeTokenStatusResult getChangeTokenStatus(GetChangeTokenStatusRequest request) {
request = beforeClientExecution(request);
return executeGetChangeTokenStatus(request);
}
@SdkInternalApi
final GetChangeTokenStatusResult executeGetChangeTokenStatus(GetChangeTokenStatusRequest getChangeTokenStatusRequest) {
ExecutionContext executionContext = createExecutionContext(getChangeTokenStatusRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetChangeTokenStatusRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getChangeTokenStatusRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetChangeTokenStatus");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetChangeTokenStatusResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the GeoMatchSet that is specified by GeoMatchSetId
.
*
*
* @param getGeoMatchSetRequest
* @return Result of the GetGeoMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetGeoMatchSet
* @see AWS
* API Documentation
*/
@Override
public GetGeoMatchSetResult getGeoMatchSet(GetGeoMatchSetRequest request) {
request = beforeClientExecution(request);
return executeGetGeoMatchSet(request);
}
@SdkInternalApi
final GetGeoMatchSetResult executeGetGeoMatchSet(GetGeoMatchSetRequest getGeoMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(getGeoMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetGeoMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getGeoMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetGeoMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetGeoMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the IPSet that is specified by IPSetId
.
*
*
* @param getIPSetRequest
* @return Result of the GetIPSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetIPSet
* @see AWS API
* Documentation
*/
@Override
public GetIPSetResult getIPSet(GetIPSetRequest request) {
request = beforeClientExecution(request);
return executeGetIPSet(request);
}
@SdkInternalApi
final GetIPSetResult executeGetIPSet(GetIPSetRequest getIPSetRequest) {
ExecutionContext executionContext = createExecutionContext(getIPSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetIPSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getIPSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetIPSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetIPSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the LoggingConfiguration for the specified web ACL.
*
*
* @param getLoggingConfigurationRequest
* @return Result of the GetLoggingConfiguration operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetLoggingConfiguration
* @see AWS API Documentation
*/
@Override
public GetLoggingConfigurationResult getLoggingConfiguration(GetLoggingConfigurationRequest request) {
request = beforeClientExecution(request);
return executeGetLoggingConfiguration(request);
}
@SdkInternalApi
final GetLoggingConfigurationResult executeGetLoggingConfiguration(GetLoggingConfigurationRequest getLoggingConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(getLoggingConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetLoggingConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getLoggingConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetLoggingConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetLoggingConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the IAM policy attached to the RuleGroup.
*
*
* @param getPermissionPolicyRequest
* @return Result of the GetPermissionPolicy operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetPermissionPolicy
* @see AWS API Documentation
*/
@Override
public GetPermissionPolicyResult getPermissionPolicy(GetPermissionPolicyRequest request) {
request = beforeClientExecution(request);
return executeGetPermissionPolicy(request);
}
@SdkInternalApi
final GetPermissionPolicyResult executeGetPermissionPolicy(GetPermissionPolicyRequest getPermissionPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(getPermissionPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetPermissionPolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getPermissionPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetPermissionPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetPermissionPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the RateBasedRule that is specified by the RuleId
that you included in the
* GetRateBasedRule
request.
*
*
* @param getRateBasedRuleRequest
* @return Result of the GetRateBasedRule operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetRateBasedRule
* @see AWS
* API Documentation
*/
@Override
public GetRateBasedRuleResult getRateBasedRule(GetRateBasedRuleRequest request) {
request = beforeClientExecution(request);
return executeGetRateBasedRule(request);
}
@SdkInternalApi
final GetRateBasedRuleResult executeGetRateBasedRule(GetRateBasedRuleRequest getRateBasedRuleRequest) {
ExecutionContext executionContext = createExecutionContext(getRateBasedRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetRateBasedRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getRateBasedRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetRateBasedRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetRateBasedRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the
* RuleId
. The maximum number of managed keys that will be blocked is 10,000. If more than 10,000
* addresses exceed the rate limit, the 10,000 addresses with the highest rates will be blocked.
*
*
* @param getRateBasedRuleManagedKeysRequest
* @return Result of the GetRateBasedRuleManagedKeys operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @sample AWSWAFRegional.GetRateBasedRuleManagedKeys
* @see AWS API Documentation
*/
@Override
public GetRateBasedRuleManagedKeysResult getRateBasedRuleManagedKeys(GetRateBasedRuleManagedKeysRequest request) {
request = beforeClientExecution(request);
return executeGetRateBasedRuleManagedKeys(request);
}
@SdkInternalApi
final GetRateBasedRuleManagedKeysResult executeGetRateBasedRuleManagedKeys(GetRateBasedRuleManagedKeysRequest getRateBasedRuleManagedKeysRequest) {
ExecutionContext executionContext = createExecutionContext(getRateBasedRuleManagedKeysRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetRateBasedRuleManagedKeysRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getRateBasedRuleManagedKeysRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetRateBasedRuleManagedKeys");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetRateBasedRuleManagedKeysResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the RegexMatchSet specified by RegexMatchSetId
.
*
*
* @param getRegexMatchSetRequest
* @return Result of the GetRegexMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetRegexMatchSet
* @see AWS
* API Documentation
*/
@Override
public GetRegexMatchSetResult getRegexMatchSet(GetRegexMatchSetRequest request) {
request = beforeClientExecution(request);
return executeGetRegexMatchSet(request);
}
@SdkInternalApi
final GetRegexMatchSetResult executeGetRegexMatchSet(GetRegexMatchSetRequest getRegexMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(getRegexMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetRegexMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getRegexMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetRegexMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetRegexMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the RegexPatternSet specified by RegexPatternSetId
.
*
*
* @param getRegexPatternSetRequest
* @return Result of the GetRegexPatternSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetRegexPatternSet
* @see AWS API Documentation
*/
@Override
public GetRegexPatternSetResult getRegexPatternSet(GetRegexPatternSetRequest request) {
request = beforeClientExecution(request);
return executeGetRegexPatternSet(request);
}
@SdkInternalApi
final GetRegexPatternSetResult executeGetRegexPatternSet(GetRegexPatternSetRequest getRegexPatternSetRequest) {
ExecutionContext executionContext = createExecutionContext(getRegexPatternSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetRegexPatternSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getRegexPatternSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetRegexPatternSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetRegexPatternSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the Rule that is specified by the RuleId
that you included in the
* GetRule
request.
*
*
* @param getRuleRequest
* @return Result of the GetRule operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetRule
* @see AWS API
* Documentation
*/
@Override
public GetRuleResult getRule(GetRuleRequest request) {
request = beforeClientExecution(request);
return executeGetRule(request);
}
@SdkInternalApi
final GetRuleResult executeGetRule(GetRuleRequest getRuleRequest) {
ExecutionContext executionContext = createExecutionContext(getRuleRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetRuleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getRuleRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetRule");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetRuleResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the RuleGroup that is specified by the RuleGroupId
that you included in the
* GetRuleGroup
request.
*
*
* To view the rules in a rule group, use ListActivatedRulesInRuleGroup.
*
*
* @param getRuleGroupRequest
* @return Result of the GetRuleGroup operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetRuleGroup
* @see AWS API
* Documentation
*/
@Override
public GetRuleGroupResult getRuleGroup(GetRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeGetRuleGroup(request);
}
@SdkInternalApi
final GetRuleGroupResult executeGetRuleGroup(GetRuleGroupRequest getRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(getRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from
* among the first 5,000 requests that your AWS resource received during a time range that you choose. You can
* specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.
*
*
* GetSampledRequests
returns a time range, which is usually the time range that you specified.
* However, if your resource (such as a CloudFront distribution) received 5,000 requests before the specified time
* range elapsed, GetSampledRequests
returns an updated time range. This new time range indicates the
* actual period during which AWS WAF selected the requests in the sample.
*
*
* @param getSampledRequestsRequest
* @return Result of the GetSampledRequests operation returned by the service.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @sample AWSWAFRegional.GetSampledRequests
* @see AWS API Documentation
*/
@Override
public GetSampledRequestsResult getSampledRequests(GetSampledRequestsRequest request) {
request = beforeClientExecution(request);
return executeGetSampledRequests(request);
}
@SdkInternalApi
final GetSampledRequestsResult executeGetSampledRequests(GetSampledRequestsRequest getSampledRequestsRequest) {
ExecutionContext executionContext = createExecutionContext(getSampledRequestsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetSampledRequestsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getSampledRequestsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetSampledRequests");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetSampledRequestsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the SizeConstraintSet specified by SizeConstraintSetId
.
*
*
* @param getSizeConstraintSetRequest
* @return Result of the GetSizeConstraintSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetSizeConstraintSet
* @see AWS API Documentation
*/
@Override
public GetSizeConstraintSetResult getSizeConstraintSet(GetSizeConstraintSetRequest request) {
request = beforeClientExecution(request);
return executeGetSizeConstraintSet(request);
}
@SdkInternalApi
final GetSizeConstraintSetResult executeGetSizeConstraintSet(GetSizeConstraintSetRequest getSizeConstraintSetRequest) {
ExecutionContext executionContext = createExecutionContext(getSizeConstraintSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetSizeConstraintSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getSizeConstraintSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetSizeConstraintSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetSizeConstraintSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId
.
*
*
* @param getSqlInjectionMatchSetRequest
* A request to get a SqlInjectionMatchSet.
* @return Result of the GetSqlInjectionMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetSqlInjectionMatchSet
* @see AWS API Documentation
*/
@Override
public GetSqlInjectionMatchSetResult getSqlInjectionMatchSet(GetSqlInjectionMatchSetRequest request) {
request = beforeClientExecution(request);
return executeGetSqlInjectionMatchSet(request);
}
@SdkInternalApi
final GetSqlInjectionMatchSetResult executeGetSqlInjectionMatchSet(GetSqlInjectionMatchSetRequest getSqlInjectionMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(getSqlInjectionMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetSqlInjectionMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(getSqlInjectionMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetSqlInjectionMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new GetSqlInjectionMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the WebACL that is specified by WebACLId
.
*
*
* @param getWebACLRequest
* @return Result of the GetWebACL operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetWebACL
* @see AWS API
* Documentation
*/
@Override
public GetWebACLResult getWebACL(GetWebACLRequest request) {
request = beforeClientExecution(request);
return executeGetWebACL(request);
}
@SdkInternalApi
final GetWebACLResult executeGetWebACL(GetWebACLRequest getWebACLRequest) {
ExecutionContext executionContext = createExecutionContext(getWebACLRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetWebACLRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getWebACLRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetWebACL");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetWebACLResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the
* developer guide.
*
*
* For the latest version of AWS WAF, use the AWS WAFV2 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.
*
*
*
* Returns the web ACL for the specified resource, either an application load balancer or Amazon API Gateway stage.
*
*
* @param getWebACLForResourceRequest
* @return Result of the GetWebACLForResource operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFUnavailableEntityException
* The operation failed because the entity referenced is temporarily unavailable. Retry your request.
* @sample AWSWAFRegional.GetWebACLForResource
* @see AWS API Documentation
*/
@Override
public GetWebACLForResourceResult getWebACLForResource(GetWebACLForResourceRequest request) {
request = beforeClientExecution(request);
return executeGetWebACLForResource(request);
}
@SdkInternalApi
final GetWebACLForResourceResult executeGetWebACLForResource(GetWebACLForResourceRequest getWebACLForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(getWebACLForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetWebACLForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getWebACLForResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetWebACLForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetWebACLForResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns the XssMatchSet that is specified by XssMatchSetId
.
*
*
* @param getXssMatchSetRequest
* A request to get an XssMatchSet.
* @return Result of the GetXssMatchSet operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @sample AWSWAFRegional.GetXssMatchSet
* @see AWS
* API Documentation
*/
@Override
public GetXssMatchSetResult getXssMatchSet(GetXssMatchSetRequest request) {
request = beforeClientExecution(request);
return executeGetXssMatchSet(request);
}
@SdkInternalApi
final GetXssMatchSetResult executeGetXssMatchSet(GetXssMatchSetRequest getXssMatchSetRequest) {
ExecutionContext executionContext = createExecutionContext(getXssMatchSetRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new GetXssMatchSetRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getXssMatchSetRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetXssMatchSet");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetXssMatchSetResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of ActivatedRule objects.
*
*
* @param listActivatedRulesInRuleGroupRequest
* @return Result of the ListActivatedRulesInRuleGroup operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @sample AWSWAFRegional.ListActivatedRulesInRuleGroup
* @see AWS API Documentation
*/
@Override
public ListActivatedRulesInRuleGroupResult listActivatedRulesInRuleGroup(ListActivatedRulesInRuleGroupRequest request) {
request = beforeClientExecution(request);
return executeListActivatedRulesInRuleGroup(request);
}
@SdkInternalApi
final ListActivatedRulesInRuleGroupResult executeListActivatedRulesInRuleGroup(ListActivatedRulesInRuleGroupRequest listActivatedRulesInRuleGroupRequest) {
ExecutionContext executionContext = createExecutionContext(listActivatedRulesInRuleGroupRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListActivatedRulesInRuleGroupRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listActivatedRulesInRuleGroupRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListActivatedRulesInRuleGroup");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListActivatedRulesInRuleGroupResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of ByteMatchSetSummary objects.
*
*
* @param listByteMatchSetsRequest
* @return Result of the ListByteMatchSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListByteMatchSets
* @see AWS
* API Documentation
*/
@Override
public ListByteMatchSetsResult listByteMatchSets(ListByteMatchSetsRequest request) {
request = beforeClientExecution(request);
return executeListByteMatchSets(request);
}
@SdkInternalApi
final ListByteMatchSetsResult executeListByteMatchSets(ListByteMatchSetsRequest listByteMatchSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listByteMatchSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListByteMatchSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listByteMatchSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListByteMatchSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListByteMatchSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of GeoMatchSetSummary objects in the response.
*
*
* @param listGeoMatchSetsRequest
* @return Result of the ListGeoMatchSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListGeoMatchSets
* @see AWS
* API Documentation
*/
@Override
public ListGeoMatchSetsResult listGeoMatchSets(ListGeoMatchSetsRequest request) {
request = beforeClientExecution(request);
return executeListGeoMatchSets(request);
}
@SdkInternalApi
final ListGeoMatchSetsResult executeListGeoMatchSets(ListGeoMatchSetsRequest listGeoMatchSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listGeoMatchSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListGeoMatchSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listGeoMatchSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListGeoMatchSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListGeoMatchSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of IPSetSummary objects in the response.
*
*
* @param listIPSetsRequest
* @return Result of the ListIPSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListIPSets
* @see AWS API
* Documentation
*/
@Override
public ListIPSetsResult listIPSets(ListIPSetsRequest request) {
request = beforeClientExecution(request);
return executeListIPSets(request);
}
@SdkInternalApi
final ListIPSetsResult executeListIPSets(ListIPSetsRequest listIPSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listIPSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListIPSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listIPSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListIPSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListIPSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of LoggingConfiguration objects.
*
*
* @param listLoggingConfigurationsRequest
* @return Result of the ListLoggingConfigurations operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @sample AWSWAFRegional.ListLoggingConfigurations
* @see AWS API Documentation
*/
@Override
public ListLoggingConfigurationsResult listLoggingConfigurations(ListLoggingConfigurationsRequest request) {
request = beforeClientExecution(request);
return executeListLoggingConfigurations(request);
}
@SdkInternalApi
final ListLoggingConfigurationsResult executeListLoggingConfigurations(ListLoggingConfigurationsRequest listLoggingConfigurationsRequest) {
ExecutionContext executionContext = createExecutionContext(listLoggingConfigurationsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListLoggingConfigurationsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listLoggingConfigurationsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLoggingConfigurations");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListLoggingConfigurationsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of RuleSummary objects.
*
*
* @param listRateBasedRulesRequest
* @return Result of the ListRateBasedRules operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListRateBasedRules
* @see AWS API Documentation
*/
@Override
public ListRateBasedRulesResult listRateBasedRules(ListRateBasedRulesRequest request) {
request = beforeClientExecution(request);
return executeListRateBasedRules(request);
}
@SdkInternalApi
final ListRateBasedRulesResult executeListRateBasedRules(ListRateBasedRulesRequest listRateBasedRulesRequest) {
ExecutionContext executionContext = createExecutionContext(listRateBasedRulesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListRateBasedRulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRateBasedRulesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRateBasedRules");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRateBasedRulesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of RegexMatchSetSummary objects.
*
*
* @param listRegexMatchSetsRequest
* @return Result of the ListRegexMatchSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListRegexMatchSets
* @see AWS API Documentation
*/
@Override
public ListRegexMatchSetsResult listRegexMatchSets(ListRegexMatchSetsRequest request) {
request = beforeClientExecution(request);
return executeListRegexMatchSets(request);
}
@SdkInternalApi
final ListRegexMatchSetsResult executeListRegexMatchSets(ListRegexMatchSetsRequest listRegexMatchSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listRegexMatchSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListRegexMatchSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRegexMatchSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRegexMatchSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRegexMatchSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of RegexPatternSetSummary objects.
*
*
* @param listRegexPatternSetsRequest
* @return Result of the ListRegexPatternSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListRegexPatternSets
* @see AWS API Documentation
*/
@Override
public ListRegexPatternSetsResult listRegexPatternSets(ListRegexPatternSetsRequest request) {
request = beforeClientExecution(request);
return executeListRegexPatternSets(request);
}
@SdkInternalApi
final ListRegexPatternSetsResult executeListRegexPatternSets(ListRegexPatternSetsRequest listRegexPatternSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listRegexPatternSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListRegexPatternSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRegexPatternSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRegexPatternSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRegexPatternSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* This is AWS WAF Classic Regional documentation. For more information, see AWS WAF Classic in the
* developer guide.
*
*
* For the latest version of AWS WAF, use the AWS WAFV2 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.
*
*
*
* Returns an array of resources associated with the specified web ACL.
*
*
* @param listResourcesForWebACLRequest
* @return Result of the ListResourcesForWebACL operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @sample AWSWAFRegional.ListResourcesForWebACL
* @see AWS API Documentation
*/
@Override
public ListResourcesForWebACLResult listResourcesForWebACL(ListResourcesForWebACLRequest request) {
request = beforeClientExecution(request);
return executeListResourcesForWebACL(request);
}
@SdkInternalApi
final ListResourcesForWebACLResult executeListResourcesForWebACL(ListResourcesForWebACLRequest listResourcesForWebACLRequest) {
ExecutionContext executionContext = createExecutionContext(listResourcesForWebACLRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListResourcesForWebACLRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listResourcesForWebACLRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResourcesForWebACL");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListResourcesForWebACLResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of RuleGroup objects.
*
*
* @param listRuleGroupsRequest
* @return Result of the ListRuleGroups operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @sample AWSWAFRegional.ListRuleGroups
* @see AWS
* API Documentation
*/
@Override
public ListRuleGroupsResult listRuleGroups(ListRuleGroupsRequest request) {
request = beforeClientExecution(request);
return executeListRuleGroups(request);
}
@SdkInternalApi
final ListRuleGroupsResult executeListRuleGroups(ListRuleGroupsRequest listRuleGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(listRuleGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListRuleGroupsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRuleGroupsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRuleGroups");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRuleGroupsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of RuleSummary objects.
*
*
* @param listRulesRequest
* @return Result of the ListRules operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListRules
* @see AWS API
* Documentation
*/
@Override
public ListRulesResult listRules(ListRulesRequest request) {
request = beforeClientExecution(request);
return executeListRules(request);
}
@SdkInternalApi
final ListRulesResult executeListRules(ListRulesRequest listRulesRequest) {
ExecutionContext executionContext = createExecutionContext(listRulesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListRulesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRulesRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRules");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata()
.withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRulesResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of SizeConstraintSetSummary objects.
*
*
* @param listSizeConstraintSetsRequest
* @return Result of the ListSizeConstraintSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListSizeConstraintSets
* @see AWS API Documentation
*/
@Override
public ListSizeConstraintSetsResult listSizeConstraintSets(ListSizeConstraintSetsRequest request) {
request = beforeClientExecution(request);
return executeListSizeConstraintSets(request);
}
@SdkInternalApi
final ListSizeConstraintSetsResult executeListSizeConstraintSets(ListSizeConstraintSetsRequest listSizeConstraintSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listSizeConstraintSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListSizeConstraintSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listSizeConstraintSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListSizeConstraintSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListSizeConstraintSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of SqlInjectionMatchSet objects.
*
*
* @param listSqlInjectionMatchSetsRequest
* A request to list the SqlInjectionMatchSet objects created by the current AWS account.
* @return Result of the ListSqlInjectionMatchSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListSqlInjectionMatchSets
* @see AWS API Documentation
*/
@Override
public ListSqlInjectionMatchSetsResult listSqlInjectionMatchSets(ListSqlInjectionMatchSetsRequest request) {
request = beforeClientExecution(request);
return executeListSqlInjectionMatchSets(request);
}
@SdkInternalApi
final ListSqlInjectionMatchSetsResult executeListSqlInjectionMatchSets(ListSqlInjectionMatchSetsRequest listSqlInjectionMatchSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listSqlInjectionMatchSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListSqlInjectionMatchSetsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listSqlInjectionMatchSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListSqlInjectionMatchSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListSqlInjectionMatchSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of RuleGroup objects that you are subscribed to.
*
*
* @param listSubscribedRuleGroupsRequest
* @return Result of the ListSubscribedRuleGroups operation returned by the service.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @sample AWSWAFRegional.ListSubscribedRuleGroups
* @see AWS API Documentation
*/
@Override
public ListSubscribedRuleGroupsResult listSubscribedRuleGroups(ListSubscribedRuleGroupsRequest request) {
request = beforeClientExecution(request);
return executeListSubscribedRuleGroups(request);
}
@SdkInternalApi
final ListSubscribedRuleGroupsResult executeListSubscribedRuleGroups(ListSubscribedRuleGroupsRequest listSubscribedRuleGroupsRequest) {
ExecutionContext executionContext = createExecutionContext(listSubscribedRuleGroupsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListSubscribedRuleGroupsRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(listSubscribedRuleGroupsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListSubscribedRuleGroups");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new ListSubscribedRuleGroupsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Retrieves the tags associated with the specified AWS resource. Tags are key:value pairs that you can use to
* categorize and manage your resources, for purposes like billing. For example, you might set the tag key to
* "customer" and the value to the customer name or ID. You can specify one or more tags to add to each AWS
* resource, up to 50 tags for a resource.
*
*
* Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF
* Classic console. You can tag the AWS resources that you manage through AWS WAF Classic: web ACLs, rule groups,
* and rules.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (ByteMatchSet
, IPSet
, Rule
, or
* WebACL
) using an action other than INSERT
or DELETE
.
*
*
* -
*
* You tried to create a WebACL
with a DefaultAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to create a RateBasedRule
with a RateKey
value other than
* IP
.
*
*
* -
*
* You tried to update a WebACL
with a WafAction
Type
other than
* ALLOW
, BLOCK
, or COUNT
.
*
*
* -
*
* You tried to update a ByteMatchSet
with a FieldToMatch
Type
other
* than HEADER, METHOD, QUERY_STRING, URI, or BODY.
*
*
* -
*
* You tried to update a ByteMatchSet
with a Field
of HEADER
but no
* value for Data
.
*
*
* -
*
* Your request references an ARN that is malformed, or corresponds to a resource with which a web ACL
* cannot be associated.
*
*
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFBadRequestException
* @throws WAFTagOperationException
* @throws WAFTagOperationInternalErrorException
* @sample AWSWAFRegional.ListTagsForResource
* @see AWS API Documentation
*/
@Override
public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) {
request = beforeClientExecution(request);
return executeListTagsForResource(request);
}
@SdkInternalApi
final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) {
ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of WebACLSummary objects in the response.
*
*
* @param listWebACLsRequest
* @return Result of the ListWebACLs operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListWebACLs
* @see AWS API
* Documentation
*/
@Override
public ListWebACLsResult listWebACLs(ListWebACLsRequest request) {
request = beforeClientExecution(request);
return executeListWebACLs(request);
}
@SdkInternalApi
final ListWebACLsResult executeListWebACLs(ListWebACLsRequest listWebACLsRequest) {
ExecutionContext executionContext = createExecutionContext(listWebACLsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListWebACLsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listWebACLsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListWebACLs");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListWebACLsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Returns an array of XssMatchSet objects.
*
*
* @param listXssMatchSetsRequest
* A request to list the XssMatchSet objects created by the current AWS account.
* @return Result of the ListXssMatchSets operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidAccountException
* The operation failed because you tried to create, update, or delete an object by using an invalid account
* identifier.
* @sample AWSWAFRegional.ListXssMatchSets
* @see AWS
* API Documentation
*/
@Override
public ListXssMatchSetsResult listXssMatchSets(ListXssMatchSetsRequest request) {
request = beforeClientExecution(request);
return executeListXssMatchSets(request);
}
@SdkInternalApi
final ListXssMatchSetsResult executeListXssMatchSets(ListXssMatchSetsRequest listXssMatchSetsRequest) {
ExecutionContext executionContext = createExecutionContext(listXssMatchSetsRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new ListXssMatchSetsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listXssMatchSetsRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListXssMatchSets");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListXssMatchSetsResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Associates a LoggingConfiguration with a specified web ACL.
*
*
* You can access information about all traffic that AWS WAF inspects using the following steps:
*
*
* -
*
* Create an Amazon Kinesis Data Firehose.
*
*
* Create the data firehose with a PUT source and in the region that you are operating. However, if you are
* capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).
*
*
*
* Do not create the data firehose using a Kinesis stream
as your source.
*
*
* -
*
* Associate that firehose to your web ACL using a PutLoggingConfiguration
request.
*
*
*
*
* When you successfully enable logging using a PutLoggingConfiguration
request, AWS WAF will create a
* service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more
* information, see Logging Web ACL
* Traffic Information in the AWS WAF Developer Guide.
*
*
* @param putLoggingConfigurationRequest
* @return Result of the PutLoggingConfiguration operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFServiceLinkedRoleErrorException
* AWS WAF is not able to access the service linked role. This can be caused by a previous
* PutLoggingConfiguration
request, which can lock the service linked role for about 20
* seconds. Please try your request again. The service linked role can also be locked by a previous
* DeleteServiceLinkedRole
request, which can lock the role for 15 minutes or more. If you
* recently made a DeleteServiceLinkedRole
, wait at least 15 minutes and try the request again.
* If you receive this same exception again, you will have to wait additional time until the role is
* unlocked.
* @sample AWSWAFRegional.PutLoggingConfiguration
* @see AWS API Documentation
*/
@Override
public PutLoggingConfigurationResult putLoggingConfiguration(PutLoggingConfigurationRequest request) {
request = beforeClientExecution(request);
return executePutLoggingConfiguration(request);
}
@SdkInternalApi
final PutLoggingConfigurationResult executePutLoggingConfiguration(PutLoggingConfigurationRequest putLoggingConfigurationRequest) {
ExecutionContext executionContext = createExecutionContext(putLoggingConfigurationRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutLoggingConfigurationRequestProtocolMarshaller(protocolFactory).marshall(super
.beforeMarshalling(putLoggingConfigurationRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutLoggingConfiguration");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false),
new PutLoggingConfigurationResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Attaches an IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup
* across accounts.
*
*
* The PutPermissionPolicy
is subject to the following restrictions:
*
*
* -
*
* You can attach only one policy with each PutPermissionPolicy
request.
*
*
* -
*
* The policy must include an Effect
, Action
and Principal
.
*
*
* -
*
* Effect
must specify Allow
.
*
*
* -
*
* The Action
in the policy must be waf:UpdateWebACL
,
* waf-regional:UpdateWebACL
, waf:GetRuleGroup
and waf-regional:GetRuleGroup
* . Any extra or wildcard actions in the policy will be rejected.
*
*
* -
*
* The policy cannot include a Resource
parameter.
*
*
* -
*
* The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.
*
*
* -
*
* The user making the request must be the owner of the RuleGroup.
*
*
* -
*
* Your policy must be composed using IAM Policy version 2012-10-17.
*
*
*
*
* For more information, see IAM
* Policies.
*
*
* An example of a valid policy parameter is shown in the Examples section below.
*
*
* @param putPermissionPolicyRequest
* @return Result of the PutPermissionPolicy operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFStaleDataException
* The operation failed because you tried to create, update, or delete an object by using a change token
* that has already been used.
* @throws WAFNonexistentItemException
* The operation failed because the referenced object doesn't exist.
* @throws WAFInvalidPermissionPolicyException
* The operation failed because the specified policy is not in the proper format.
*
* The policy is subject to the following restrictions:
*
*
* -
*
* You can attach only one policy with each PutPermissionPolicy
request.
*
*
* -
*
* The policy must include an Effect
, Action
and Principal
.
*
*
* -
*
* Effect
must specify Allow
.
*
*
* -
*
* The Action
in the policy must be waf:UpdateWebACL
,
* waf-regional:UpdateWebACL
, waf:GetRuleGroup
and
* waf-regional:GetRuleGroup
. Any extra or wildcard actions in the policy will be rejected.
*
*
* -
*
* The policy cannot include a Resource
parameter.
*
*
* -
*
* The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.
*
*
* -
*
* The user making the request must be the owner of the RuleGroup.
*
*
* -
*
* Your policy must be composed using IAM Policy version 2012-10-17.
*
*
* @sample AWSWAFRegional.PutPermissionPolicy
* @see AWS API Documentation
*/
@Override
public PutPermissionPolicyResult putPermissionPolicy(PutPermissionPolicyRequest request) {
request = beforeClientExecution(request);
return executePutPermissionPolicy(request);
}
@SdkInternalApi
final PutPermissionPolicyResult executePutPermissionPolicy(PutPermissionPolicyRequest putPermissionPolicyRequest) {
ExecutionContext executionContext = createExecutionContext(putPermissionPolicyRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request request = null;
Response response = null;
try {
awsRequestMetrics.startEvent(Field.RequestMarshallTime);
try {
request = new PutPermissionPolicyRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putPermissionPolicyRequest));
// Binds the request metrics to the current request.
request.setAWSRequestMetrics(awsRequestMetrics);
request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden());
request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion());
request.addHandlerContext(HandlerContextKey.SERVICE_ID, "WAF Regional");
request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutPermissionPolicy");
request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig);
} finally {
awsRequestMetrics.endEvent(Field.RequestMarshallTime);
}
HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(
new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutPermissionPolicyResultJsonUnmarshaller());
response = invoke(request, responseHandler, executionContext);
return response.getAwsResponse();
} finally {
endClientExecution(awsRequestMetrics, request, response);
}
}
/**
*
*
* 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 WAFV2 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.
*
*
*
* Associates tags with the specified AWS resource. Tags are key:value pairs that you can use to categorize and
* manage your resources, for purposes like billing. For example, you might set the tag key to "customer" and the
* value to the customer name or ID. You can specify one or more tags to add to each AWS resource, up to 50 tags for
* a resource.
*
*
* Tagging is only available through the API, SDKs, and CLI. You can't manage or view tags through the AWS WAF
* Classic console. You can use this action to tag the AWS resources that you manage through AWS WAF Classic: web
* ACLs, rule groups, and rules.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws WAFInternalErrorException
* The operation failed because of a system problem, even though the request was valid. Retry your request.
* @throws WAFInvalidParameterException
* The operation failed because AWS WAF didn't recognize a parameter in the request. For example:
*
* -
*
* You specified an invalid parameter name.
*
*
* -
*
* You specified an invalid value.
*
*
* -
*
* You tried to update an object (