/*
* Copyright 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.
*/
/*
* Do not modify this file. This file is generated from the wafv2-2019-07-29.normal.json service model.
*/
using System;
using System.Runtime.ExceptionServices;
using System.Threading;
using System.Threading.Tasks;
using System.Collections.Generic;
using System.Net;
using Amazon.WAFV2.Model;
using Amazon.WAFV2.Model.Internal.MarshallTransformations;
using Amazon.WAFV2.Internal;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
using Amazon.Runtime.Internal.Auth;
using Amazon.Runtime.Internal.Transform;
namespace Amazon.WAFV2
{
///
/// Implementation for accessing WAFV2
///
/// WAF
///
/// This is the latest version of the WAF API, released in November, 2019. The
/// names of the entities that you use to access this API, like endpoints and namespaces,
/// all have the versioning information added, like "V2" or "v2", to distinguish from
/// the prior version. We recommend migrating your resources to this version, because
/// it has a number of significant improvements.
///
///
///
/// If you used WAF prior to this release, you can't use this WAFV2 API to access any
/// WAF resources that you created before. You can access your old rules, web ACLs, and
/// other WAF resources only through the WAF Classic APIs. The WAF Classic APIs have retained
/// the prior names, endpoints, and namespaces.
///
///
///
/// For information, including how to migrate your WAF resources to this version, see
/// the WAF
/// Developer Guide.
///
///
///
/// WAF is a web application firewall that lets you monitor the HTTP and HTTPS requests
/// that are forwarded to an Amazon CloudFront distribution, Amazon API Gateway REST API,
/// Application Load Balancer, AppSync GraphQL API, Amazon Cognito user pool, App Runner
/// service, or Amazon Web Services Verified Access instance. WAF also lets you control
/// access to your content, to protect the Amazon Web Services resource that WAF is monitoring.
/// Based on conditions that you specify, such as the IP addresses that requests originate
/// from or the values of query strings, the protected resource responds to requests with
/// either the requested content, an HTTP 403 status code (Forbidden), or with a custom
/// response.
///
///
///
/// This API guide is for developers who need detailed information about WAF API actions,
/// data types, and errors. For detailed information about WAF features and guidance for
/// configuring and using WAF, see the WAF
/// Developer Guide.
///
///
///
/// You can make calls using the endpoints listed in WAF
/// endpoints and quotas.
///
/// -
///
/// For regional applications, you can use any of the endpoints in the list. A regional
/// application can be an Application Load Balancer (ALB), an Amazon API Gateway REST
/// API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service, or
/// an Amazon Web Services Verified Access instance.
///
///
-
///
/// For Amazon CloudFront applications, you must use the API endpoint listed for US East
/// (N. Virginia): us-east-1.
///
///
///
/// Alternatively, you can use one of the Amazon Web Services SDKs to access an API that's
/// tailored to the programming language or platform that you're using. For more information,
/// see Amazon Web Services SDKs.
///
///
///
/// We currently provide two versions of the WAF API: this API and the prior versions,
/// the classic WAF APIs. This new API provides the same functionality as the older versions,
/// with the following major improvements:
///
/// -
///
/// You use one API for both global and regional applications. Where you need to distinguish
/// the scope, you specify a
Scope
parameter and set it to CLOUDFRONT
/// or REGIONAL
.
///
/// -
///
/// You can define a web ACL or rule group with a single call, and update it with a single
/// call. You define all rule specifications in JSON format, and pass them to your rule
/// group or web ACL calls.
///
///
-
///
/// The limits WAF places on the use of rules more closely reflects the cost of running
/// each type of rule. Rule groups include capacity settings, so you know the maximum
/// cost of a rule group when you use it.
///
///
///
public partial class AmazonWAFV2Client : AmazonServiceClient, IAmazonWAFV2
{
private static IServiceMetadata serviceMetadata = new AmazonWAFV2Metadata();
#region Constructors
///
/// Constructs AmazonWAFV2Client with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
public AmazonWAFV2Client()
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonWAFV2Config()) { }
///
/// Constructs AmazonWAFV2Client with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The region to connect.
public AmazonWAFV2Client(RegionEndpoint region)
: base(FallbackCredentialsFactory.GetCredentials(), new AmazonWAFV2Config{RegionEndpoint = region}) { }
///
/// Constructs AmazonWAFV2Client with the credentials loaded from the application's
/// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance.
///
/// Example App.config with credentials set.
///
/// <?xml version="1.0" encoding="utf-8" ?>
/// <configuration>
/// <appSettings>
/// <add key="AWSProfileName" value="AWS Default"/>
/// </appSettings>
/// </configuration>
///
///
///
/// The AmazonWAFV2Client Configuration Object
public AmazonWAFV2Client(AmazonWAFV2Config config)
: base(FallbackCredentialsFactory.GetCredentials(config), config){}
///
/// Constructs AmazonWAFV2Client with AWS Credentials
///
/// AWS Credentials
public AmazonWAFV2Client(AWSCredentials credentials)
: this(credentials, new AmazonWAFV2Config())
{
}
///
/// Constructs AmazonWAFV2Client with AWS Credentials
///
/// AWS Credentials
/// The region to connect.
public AmazonWAFV2Client(AWSCredentials credentials, RegionEndpoint region)
: this(credentials, new AmazonWAFV2Config{RegionEndpoint = region})
{
}
///
/// Constructs AmazonWAFV2Client with AWS Credentials and an
/// AmazonWAFV2Client Configuration object.
///
/// AWS Credentials
/// The AmazonWAFV2Client Configuration Object
public AmazonWAFV2Client(AWSCredentials credentials, AmazonWAFV2Config clientConfig)
: base(credentials, clientConfig)
{
}
///
/// Constructs AmazonWAFV2Client with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
public AmazonWAFV2Client(string awsAccessKeyId, string awsSecretAccessKey)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonWAFV2Config())
{
}
///
/// Constructs AmazonWAFV2Client with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The region to connect.
public AmazonWAFV2Client(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, new AmazonWAFV2Config() {RegionEndpoint=region})
{
}
///
/// Constructs AmazonWAFV2Client with AWS Access Key ID, AWS Secret Key and an
/// AmazonWAFV2Client Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// The AmazonWAFV2Client Configuration Object
public AmazonWAFV2Client(string awsAccessKeyId, string awsSecretAccessKey, AmazonWAFV2Config clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, clientConfig)
{
}
///
/// Constructs AmazonWAFV2Client with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
public AmazonWAFV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonWAFV2Config())
{
}
///
/// Constructs AmazonWAFV2Client with AWS Access Key ID and AWS Secret Key
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The region to connect.
public AmazonWAFV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region)
: this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonWAFV2Config{RegionEndpoint = region})
{
}
///
/// Constructs AmazonWAFV2Client with AWS Access Key ID, AWS Secret Key and an
/// AmazonWAFV2Client Configuration object.
///
/// AWS Access Key ID
/// AWS Secret Access Key
/// AWS Session Token
/// The AmazonWAFV2Client Configuration Object
public AmazonWAFV2Client(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonWAFV2Config clientConfig)
: base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig)
{
}
#endregion
#region Overrides
///
/// Creates the signer for the service.
///
protected override AbstractAWSSigner CreateSigner()
{
return new AWS4Signer();
}
///
/// Customizes the runtime pipeline.
///
/// Runtime pipeline for the current client.
protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline)
{
pipeline.RemoveHandler();
pipeline.AddHandlerAfter(new AmazonWAFV2EndpointResolver());
}
///
/// Capture metadata for the service.
///
protected override IServiceMetadata ServiceMetadata
{
get
{
return serviceMetadata;
}
}
#endregion
#region Dispose
///
/// Disposes the service client.
///
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
#endregion
#region AssociateWebACL
internal virtual AssociateWebACLResponse AssociateWebACL(AssociateWebACLRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = AssociateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = AssociateWebACLResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Associates a web ACL with a regional application resource, to protect the resource.
/// A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway
/// REST API, an AppSync GraphQL API, an Amazon Cognito user pool, an App Runner service,
/// or an Amazon Web Services Verified Access instance.
///
///
///
/// For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution
/// configuration. To associate a web ACL, in the CloudFront call UpdateDistribution
,
/// set the web ACL ID to the Amazon Resource Name (ARN) of the web ACL. For information,
/// see UpdateDistribution
/// in the Amazon CloudFront Developer Guide.
///
///
///
/// When you make changes to web ACLs or web ACL components, like rules and rule groups,
/// WAF propagates the changes everywhere that the web ACL and its components are stored
/// and used. Your changes are applied within seconds, but there might be a brief period
/// of inconsistency when the changes have arrived in some places and not in others. So,
/// for example, if you change a rule action setting, the action might be the old action
/// in one area and the new action in another area. Or if you add an IP address to an
/// IP set used in a blocking rule, the new address might briefly be blocked in one area
/// while still allowed in another. This temporary inconsistency can occur when you first
/// associate a web ACL with an Amazon Web Services resource and when you change a web
/// ACL that is already associated with a resource. Generally, any inconsistencies of
/// this type last only a few seconds.
///
///
/// Container for the necessary parameters to execute the AssociateWebACL service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the AssociateWebACL service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t retrieve a resource that you specified for this operation. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate. Verify the resources that you are specifying in your request parameters
/// and then retry the operation.
///
/// REST API Reference for AssociateWebACL Operation
public virtual Task AssociateWebACLAsync(AssociateWebACLRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = AssociateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = AssociateWebACLResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CheckCapacity
internal virtual CheckCapacityResponse CheckCapacity(CheckCapacityRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CheckCapacityRequestMarshaller.Instance;
options.ResponseUnmarshaller = CheckCapacityResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the web ACL capacity unit (WCU) requirements for a specified scope and set
/// of rules. You can use this to check the capacity requirements for the rules you want
/// to use in a RuleGroup or WebACL.
///
///
///
/// WAF uses WCUs to calculate and control the operating resources that are used to run
/// your rules, rule groups, and web ACLs. WAF calculates capacity differently for each
/// rule type, to reflect the relative cost of each rule. Simple rules that cost little
/// to run use fewer WCUs than more complex rules that use more processing power. Rule
/// group capacity is fixed at creation, which helps users plan their web ACL WCU usage
/// when they use a rule group. For more information, see WAF
/// web ACL capacity units (WCU) in the WAF Developer Guide.
///
///
/// Container for the necessary parameters to execute the CheckCapacity service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CheckCapacity service method, as returned by WAFV2.
///
/// The operation failed because the specified version for the managed rule group has
/// expired. You can retrieve the available versions for the managed rule group by calling
/// ListAvailableManagedRuleGroupVersions.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because the resource that you requested isn’t valid.
/// Check the resource, and try again.
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// You tried to use a managed rule group that's available by subscription, but you aren't
/// subscribed to it yet.
///
///
/// WAF couldn’t retrieve a resource that you specified for this operation. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate. Verify the resources that you are specifying in your request parameters
/// and then retry the operation.
///
/// REST API Reference for CheckCapacity Operation
public virtual Task CheckCapacityAsync(CheckCapacityRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CheckCapacityRequestMarshaller.Instance;
options.ResponseUnmarshaller = CheckCapacityResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateAPIKey
internal virtual CreateAPIKeyResponse CreateAPIKey(CreateAPIKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAPIKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAPIKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates an API key that contains a set of token domains.
///
///
///
/// API keys are required for the integration of the CAPTCHA API in your JavaScript client
/// applications. The API lets you customize the placement and characteristics of the
/// CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript
/// integration, see WAF
/// client application integration in the WAF Developer Guide.
///
///
///
/// You can use a single key for up to 5 domains. After you generate a key, you can copy
/// it for use in your JavaScript integration.
///
///
/// Container for the necessary parameters to execute the CreateAPIKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateAPIKey service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
/// REST API Reference for CreateAPIKey Operation
public virtual Task CreateAPIKeyAsync(CreateAPIKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateAPIKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateAPIKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateIPSet
internal virtual CreateIPSetResponse CreateIPSet(CreateIPSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateIPSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates an IPSet, which you use to identify web requests that originate from
/// specific IP addresses or ranges of IP addresses. For example, if you're receiving
/// a lot of requests from a ranges of IP addresses, you can configure WAF to block them
/// using an IPSet that lists those IP addresses.
///
/// Container for the necessary parameters to execute the CreateIPSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateIPSet service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for CreateIPSet Operation
public virtual Task CreateIPSetAsync(CreateIPSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateIPSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateRegexPatternSet
internal virtual CreateRegexPatternSetResponse CreateRegexPatternSet(CreateRegexPatternSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateRegexPatternSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates a RegexPatternSet, which you reference in a RegexPatternSetReferenceStatement,
/// to have WAF inspect a web request component for the specified patterns.
///
/// Container for the necessary parameters to execute the CreateRegexPatternSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateRegexPatternSet service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for CreateRegexPatternSet Operation
public virtual Task CreateRegexPatternSetAsync(CreateRegexPatternSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateRegexPatternSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateRuleGroup
internal virtual CreateRuleGroupResponse CreateRuleGroup(CreateRuleGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateRuleGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates a RuleGroup per the specifications provided.
///
///
///
/// A rule group defines a collection of rules to inspect and control web requests that
/// you can use in a WebACL. When you create a rule group, you define an immutable
/// capacity limit. If you update a rule group, you must stay within the capacity. This
/// allows others to reuse the rule group with confidence in its capacity requirements.
///
///
///
/// Container for the necessary parameters to execute the CreateRuleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateRuleGroup service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// You tried to use a managed rule group that's available by subscription, but you aren't
/// subscribed to it yet.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
///
/// WAF couldn’t retrieve a resource that you specified for this operation. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate. Verify the resources that you are specifying in your request parameters
/// and then retry the operation.
///
/// REST API Reference for CreateRuleGroup Operation
public virtual Task CreateRuleGroupAsync(CreateRuleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateRuleGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region CreateWebACL
internal virtual CreateWebACLResponse CreateWebACL(CreateWebACLRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateWebACLResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Creates a WebACL per the specifications provided.
///
///
///
/// A web ACL defines a collection of rules to use to inspect and control web requests.
/// Each rule has an action defined (allow, block, or count) for requests that match the
/// statement of the rule. In the web ACL, you assign a default action to take (allow,
/// block) for any request that does not match any of the rules. The rules in a web ACL
/// can be a combination of the types Rule, RuleGroup, and managed rule
/// group. You can associate a web ACL with one or more Amazon Web Services resources
/// to protect. The resources can be an Amazon CloudFront distribution, an Amazon API
/// Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon
/// Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access
/// instance.
///
///
/// Container for the necessary parameters to execute the CreateWebACL service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the CreateWebACL service method, as returned by WAFV2.
///
/// The operation failed because you are inspecting the web request body, headers, or
/// cookies without specifying how to handle oversize components. Rules that inspect the
/// body must either provide an OversizeHandling
configuration or they must
/// be preceded by a SizeConstraintStatement
that blocks the body content
/// from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling
/// configuration.
///
///
///
/// Provide the handling configuration and retry your operation.
///
///
///
/// Alternately, you can suppress this warning by adding the following tag to the resource
/// that you provide to this operation: Tag
(key:WAF:OversizeFieldsHandlingConstraintOptOut
,
/// value:true
).
///
///
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// The operation failed because the specified version for the managed rule group has
/// expired. You can retrieve the available versions for the managed rule group by calling
/// ListAvailableManagedRuleGroupVersions.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because the resource that you requested isn’t valid.
/// Check the resource, and try again.
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// You tried to use a managed rule group that's available by subscription, but you aren't
/// subscribed to it yet.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
///
/// WAF couldn’t retrieve a resource that you specified for this operation. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate. Verify the resources that you are specifying in your request parameters
/// and then retry the operation.
///
/// REST API Reference for CreateWebACL Operation
public virtual Task CreateWebACLAsync(CreateWebACLRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = CreateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = CreateWebACLResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteFirewallManagerRuleGroups
internal virtual DeleteFirewallManagerRuleGroupsResponse DeleteFirewallManagerRuleGroups(DeleteFirewallManagerRuleGroupsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteFirewallManagerRuleGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteFirewallManagerRuleGroupsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes all rule groups that are managed by Firewall Manager for the specified web
/// ACL.
///
///
///
/// You can only use this if ManagedByFirewallManager
is false in the specified
/// WebACL.
///
///
/// Container for the necessary parameters to execute the DeleteFirewallManagerRuleGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteFirewallManagerRuleGroups service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
/// REST API Reference for DeleteFirewallManagerRuleGroups Operation
public virtual Task DeleteFirewallManagerRuleGroupsAsync(DeleteFirewallManagerRuleGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteFirewallManagerRuleGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteFirewallManagerRuleGroupsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteIPSet
internal virtual DeleteIPSetResponse DeleteIPSet(DeleteIPSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteIPSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified IPSet.
///
/// Container for the necessary parameters to execute the DeleteIPSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteIPSet service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because your resource is being used by another
/// resource or it’s associated with another resource.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for DeleteIPSet Operation
public virtual Task DeleteIPSetAsync(DeleteIPSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteIPSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteLoggingConfiguration
internal virtual DeleteLoggingConfigurationResponse DeleteLoggingConfiguration(DeleteLoggingConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteLoggingConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteLoggingConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the LoggingConfiguration from the specified web ACL.
///
/// Container for the necessary parameters to execute the DeleteLoggingConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteLoggingConfiguration service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
/// REST API Reference for DeleteLoggingConfiguration Operation
public virtual Task DeleteLoggingConfigurationAsync(DeleteLoggingConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteLoggingConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteLoggingConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeletePermissionPolicy
internal virtual DeletePermissionPolicyResponse DeletePermissionPolicy(DeletePermissionPolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeletePermissionPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeletePermissionPolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Permanently deletes an IAM policy from the specified rule group.
///
///
///
/// You must be the owner of the rule group to perform this operation.
///
///
/// Container for the necessary parameters to execute the DeletePermissionPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeletePermissionPolicy service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for DeletePermissionPolicy Operation
public virtual Task DeletePermissionPolicyAsync(DeletePermissionPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeletePermissionPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeletePermissionPolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteRegexPatternSet
internal virtual DeleteRegexPatternSetResponse DeleteRegexPatternSet(DeleteRegexPatternSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRegexPatternSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified RegexPatternSet.
///
/// Container for the necessary parameters to execute the DeleteRegexPatternSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteRegexPatternSet service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because your resource is being used by another
/// resource or it’s associated with another resource.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for DeleteRegexPatternSet Operation
public virtual Task DeleteRegexPatternSetAsync(DeleteRegexPatternSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRegexPatternSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteRuleGroup
internal virtual DeleteRuleGroupResponse DeleteRuleGroup(DeleteRuleGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRuleGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified RuleGroup.
///
/// Container for the necessary parameters to execute the DeleteRuleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteRuleGroup service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because your resource is being used by another
/// resource or it’s associated with another resource.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for DeleteRuleGroup Operation
public virtual Task DeleteRuleGroupAsync(DeleteRuleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteRuleGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DeleteWebACL
internal virtual DeleteWebACLResponse DeleteWebACL(DeleteWebACLRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteWebACLResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Deletes the specified WebACL.
///
///
///
/// You can only use this if ManagedByFirewallManager
is false in the specified
/// WebACL.
///
///
///
/// Before deleting any web ACL, first disassociate it from all resources.
///
/// -
///
/// To retrieve a list of the resources that are associated with a web ACL, use the following
/// calls:
///
///
-
///
/// For regional resources, call ListResourcesForWebACL.
///
///
-
///
/// For Amazon CloudFront distributions, use the CloudFront call
ListDistributionsByWebACLId
.
/// For information, see ListDistributionsByWebACLId
/// in the Amazon CloudFront API Reference.
///
///
-
///
/// To disassociate a resource from a web ACL, use the following calls:
///
///
-
///
/// For regional resources, call DisassociateWebACL.
///
///
-
///
/// For Amazon CloudFront distributions, provide an empty web ACL ID in the CloudFront
/// call
UpdateDistribution
. For information, see UpdateDistribution
/// in the Amazon CloudFront API Reference.
///
///
///
/// Container for the necessary parameters to execute the DeleteWebACL service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DeleteWebACL service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because your resource is being used by another
/// resource or it’s associated with another resource.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for DeleteWebACL Operation
public virtual Task DeleteWebACLAsync(DeleteWebACLRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DeleteWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = DeleteWebACLResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeAllManagedProducts
internal virtual DescribeAllManagedProductsResponse DescribeAllManagedProducts(DescribeAllManagedProductsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAllManagedProductsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAllManagedProductsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Provides high-level information for the Amazon Web Services Managed Rules rule groups
/// and Amazon Web Services Marketplace managed rule groups.
///
/// Container for the necessary parameters to execute the DescribeAllManagedProducts service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeAllManagedProducts service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
/// REST API Reference for DescribeAllManagedProducts Operation
public virtual Task DescribeAllManagedProductsAsync(DescribeAllManagedProductsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeAllManagedProductsRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeAllManagedProductsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeManagedProductsByVendor
internal virtual DescribeManagedProductsByVendorResponse DescribeManagedProductsByVendor(DescribeManagedProductsByVendorRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeManagedProductsByVendorRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeManagedProductsByVendorResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Provides high-level information for the managed rule groups owned by a specific vendor.
///
/// Container for the necessary parameters to execute the DescribeManagedProductsByVendor service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeManagedProductsByVendor service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for DescribeManagedProductsByVendor Operation
public virtual Task DescribeManagedProductsByVendorAsync(DescribeManagedProductsByVendorRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeManagedProductsByVendorRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeManagedProductsByVendorResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DescribeManagedRuleGroup
internal virtual DescribeManagedRuleGroupResponse DescribeManagedRuleGroup(DescribeManagedRuleGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeManagedRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeManagedRuleGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Provides high-level information for a managed rule group, including descriptions of
/// the rules.
///
/// Container for the necessary parameters to execute the DescribeManagedRuleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DescribeManagedRuleGroup service method, as returned by WAFV2.
///
/// The operation failed because the specified version for the managed rule group has
/// expired. You can retrieve the available versions for the managed rule group by calling
/// ListAvailableManagedRuleGroupVersions.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because the resource that you requested isn’t valid.
/// Check the resource, and try again.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for DescribeManagedRuleGroup Operation
public virtual Task DescribeManagedRuleGroupAsync(DescribeManagedRuleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DescribeManagedRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = DescribeManagedRuleGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region DisassociateWebACL
internal virtual DisassociateWebACLResponse DisassociateWebACL(DisassociateWebACLRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = DisassociateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = DisassociateWebACLResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Disassociates the specified regional application resource from any existing web ACL
/// association. A resource can have at most one web ACL association. A regional application
/// can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AppSync
/// GraphQL API, an Amazon Cognito user pool, an App Runner service, or an Amazon Web
/// Services Verified Access instance.
///
///
///
/// For Amazon CloudFront, don't use this call. Instead, use your CloudFront distribution
/// configuration. To disassociate a web ACL, provide an empty web ACL ID in the CloudFront
/// call UpdateDistribution
. For information, see UpdateDistribution
/// in the Amazon CloudFront API Reference.
///
///
/// Container for the necessary parameters to execute the DisassociateWebACL service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the DisassociateWebACL service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for DisassociateWebACL Operation
public virtual Task DisassociateWebACLAsync(DisassociateWebACLRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = DisassociateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = DisassociateWebACLResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GenerateMobileSdkReleaseUrl
internal virtual GenerateMobileSdkReleaseUrlResponse GenerateMobileSdkReleaseUrl(GenerateMobileSdkReleaseUrlRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GenerateMobileSdkReleaseUrlRequestMarshaller.Instance;
options.ResponseUnmarshaller = GenerateMobileSdkReleaseUrlResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Generates a presigned download URL for the specified release of the mobile SDK.
///
///
///
/// The mobile SDK is not generally available. Customers who have access to the mobile
/// SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from
/// a mobile device to WAF. For more information, see WAF
/// client application integration in the WAF Developer Guide.
///
///
/// Container for the necessary parameters to execute the GenerateMobileSdkReleaseUrl service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GenerateMobileSdkReleaseUrl service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GenerateMobileSdkReleaseUrl Operation
public virtual Task GenerateMobileSdkReleaseUrlAsync(GenerateMobileSdkReleaseUrlRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GenerateMobileSdkReleaseUrlRequestMarshaller.Instance;
options.ResponseUnmarshaller = GenerateMobileSdkReleaseUrlResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetDecryptedAPIKey
internal virtual GetDecryptedAPIKeyResponse GetDecryptedAPIKey(GetDecryptedAPIKeyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetDecryptedAPIKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetDecryptedAPIKeyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns your API key in decrypted form. Use this to check the token domains that you
/// have defined for the key.
///
///
///
/// API keys are required for the integration of the CAPTCHA API in your JavaScript client
/// applications. The API lets you customize the placement and characteristics of the
/// CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript
/// integration, see WAF
/// client application integration in the WAF Developer Guide.
///
///
/// Container for the necessary parameters to execute the GetDecryptedAPIKey service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetDecryptedAPIKey service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because the resource that you requested isn’t valid.
/// Check the resource, and try again.
///
/// REST API Reference for GetDecryptedAPIKey Operation
public virtual Task GetDecryptedAPIKeyAsync(GetDecryptedAPIKeyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetDecryptedAPIKeyRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetDecryptedAPIKeyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetIPSet
internal virtual GetIPSetResponse GetIPSet(GetIPSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetIPSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the specified IPSet.
///
/// Container for the necessary parameters to execute the GetIPSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetIPSet service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetIPSet Operation
public virtual Task GetIPSetAsync(GetIPSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetIPSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetLoggingConfiguration
internal virtual GetLoggingConfigurationResponse GetLoggingConfiguration(GetLoggingConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetLoggingConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetLoggingConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the LoggingConfiguration for the specified web ACL.
///
/// Container for the necessary parameters to execute the GetLoggingConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetLoggingConfiguration service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetLoggingConfiguration Operation
public virtual Task GetLoggingConfigurationAsync(GetLoggingConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetLoggingConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetLoggingConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetManagedRuleSet
internal virtual GetManagedRuleSetResponse GetManagedRuleSet(GetManagedRuleSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetManagedRuleSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetManagedRuleSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the specified managed rule set.
///
///
///
/// This is intended for use only by vendors of managed rule sets. Vendors are Amazon
/// Web Services and Amazon Web Services Marketplace sellers.
///
///
///
/// Vendors, you can use the managed rule set APIs to provide controlled rollout of your
/// versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets
,
/// GetManagedRuleSet
, PutManagedRuleSetVersions
, and UpdateManagedRuleSetVersionExpiryDate
.
///
///
///
/// Container for the necessary parameters to execute the GetManagedRuleSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetManagedRuleSet service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetManagedRuleSet Operation
public virtual Task GetManagedRuleSetAsync(GetManagedRuleSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetManagedRuleSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetManagedRuleSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetMobileSdkRelease
internal virtual GetMobileSdkReleaseResponse GetMobileSdkRelease(GetMobileSdkReleaseRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetMobileSdkReleaseRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetMobileSdkReleaseResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves information for the specified mobile SDK release, including release notes
/// and tags.
///
///
///
/// The mobile SDK is not generally available. Customers who have access to the mobile
/// SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from
/// a mobile device to WAF. For more information, see WAF
/// client application integration in the WAF Developer Guide.
///
///
/// Container for the necessary parameters to execute the GetMobileSdkRelease service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetMobileSdkRelease service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetMobileSdkRelease Operation
public virtual Task GetMobileSdkReleaseAsync(GetMobileSdkReleaseRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetMobileSdkReleaseRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetMobileSdkReleaseResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetPermissionPolicy
internal virtual GetPermissionPolicyResponse GetPermissionPolicy(GetPermissionPolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetPermissionPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetPermissionPolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns the IAM policy that is attached to the specified rule group.
///
///
///
/// You must be the owner of the rule group to perform this operation.
///
///
/// Container for the necessary parameters to execute the GetPermissionPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetPermissionPolicy service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetPermissionPolicy Operation
public virtual Task GetPermissionPolicyAsync(GetPermissionPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetPermissionPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetPermissionPolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetRateBasedStatementManagedKeys
internal virtual GetRateBasedStatementManagedKeysResponse GetRateBasedStatementManagedKeys(GetRateBasedStatementManagedKeysRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRateBasedStatementManagedKeysRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRateBasedStatementManagedKeysResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the IP addresses that are currently blocked by a rate-based rule instance.
/// This is only available for rate-based rules that aggregate solely on the IP address
/// or on the forwarded IP address.
///
///
///
/// The maximum number of addresses that can be blocked for a single rate-based rule instance
/// is 10,000. If more than 10,000 addresses exceed the rate limit, those with the highest
/// rates are blocked.
///
///
///
/// For a rate-based rule that you've defined inside a rule group, provide the name of
/// the rule group reference statement in your request, in addition to the rate-based
/// rule name and the web ACL name.
///
///
///
/// WAF monitors web requests and manages keys independently for each unique combination
/// of web ACL, optional rule group, and rate-based rule. For example, if you define a
/// rate-based rule inside a rule group, and then use the rule group in a web ACL, WAF
/// monitors web requests and manages keys for that web ACL, rule group reference statement,
/// and rate-based rule instance. If you use the same rule group in a second web ACL,
/// WAF monitors web requests and manages keys for this second usage completely independent
/// of your first.
///
///
/// Container for the necessary parameters to execute the GetRateBasedStatementManagedKeys service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRateBasedStatementManagedKeys service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// The rule that you've named doesn't aggregate solely on the IP address or solely on
/// the forwarded IP address. This call is only available for rate-based rules with an
/// AggregateKeyType
setting of IP
or FORWARDED_IP
.
///
/// REST API Reference for GetRateBasedStatementManagedKeys Operation
public virtual Task GetRateBasedStatementManagedKeysAsync(GetRateBasedStatementManagedKeysRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRateBasedStatementManagedKeysRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRateBasedStatementManagedKeysResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetRegexPatternSet
internal virtual GetRegexPatternSetResponse GetRegexPatternSet(GetRegexPatternSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRegexPatternSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the specified RegexPatternSet.
///
/// Container for the necessary parameters to execute the GetRegexPatternSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRegexPatternSet service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetRegexPatternSet Operation
public virtual Task GetRegexPatternSetAsync(GetRegexPatternSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRegexPatternSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetRuleGroup
internal virtual GetRuleGroupResponse GetRuleGroup(GetRuleGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRuleGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the specified RuleGroup.
///
/// Container for the necessary parameters to execute the GetRuleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetRuleGroup service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetRuleGroup Operation
public virtual Task GetRuleGroupAsync(GetRuleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetRuleGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetSampledRequests
internal virtual GetSampledRequestsResponse GetSampledRequests(GetSampledRequestsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSampledRequestsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSampledRequestsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Gets detailed information about a specified number of requests--a sample--that WAF
/// randomly selects from among the first 5,000 requests that your Amazon Web Services
/// 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 WAF selected the requests in the sample.
///
///
/// Container for the necessary parameters to execute the GetSampledRequests service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetSampledRequests service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetSampledRequests Operation
public virtual Task GetSampledRequestsAsync(GetSampledRequestsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetSampledRequestsRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetSampledRequestsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetWebACL
internal virtual GetWebACLResponse GetWebACL(GetWebACLRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetWebACLResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the specified WebACL.
///
/// Container for the necessary parameters to execute the GetWebACL service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetWebACL service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for GetWebACL Operation
public virtual Task GetWebACLAsync(GetWebACLRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetWebACLResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region GetWebACLForResource
internal virtual GetWebACLForResourceResponse GetWebACLForResource(GetWebACLForResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = GetWebACLForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetWebACLForResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the WebACL for the specified resource.
///
/// Container for the necessary parameters to execute the GetWebACLForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the GetWebACLForResource service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t retrieve a resource that you specified for this operation. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate. Verify the resources that you are specifying in your request parameters
/// and then retry the operation.
///
/// REST API Reference for GetWebACLForResource Operation
public virtual Task GetWebACLForResourceAsync(GetWebACLForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = GetWebACLForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = GetWebACLForResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListAPIKeys
internal virtual ListAPIKeysResponse ListAPIKeys(ListAPIKeysRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAPIKeysRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAPIKeysResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves a list of the API keys that you've defined for the specified scope.
///
///
///
/// API keys are required for the integration of the CAPTCHA API in your JavaScript client
/// applications. The API lets you customize the placement and characteristics of the
/// CAPTCHA puzzle for your end users. For more information about the CAPTCHA JavaScript
/// integration, see WAF
/// client application integration in the WAF Developer Guide.
///
///
/// Container for the necessary parameters to execute the ListAPIKeys service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAPIKeys service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because the resource that you requested isn’t valid.
/// Check the resource, and try again.
///
/// REST API Reference for ListAPIKeys Operation
public virtual Task ListAPIKeysAsync(ListAPIKeysRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAPIKeysRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAPIKeysResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListAvailableManagedRuleGroups
internal virtual ListAvailableManagedRuleGroupsResponse ListAvailableManagedRuleGroups(ListAvailableManagedRuleGroupsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAvailableManagedRuleGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAvailableManagedRuleGroupsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of managed rule groups that are available for you to use. This
/// list includes all Amazon Web Services Managed Rules rule groups and all of the Amazon
/// Web Services Marketplace managed rule groups that you're subscribed to.
///
/// Container for the necessary parameters to execute the ListAvailableManagedRuleGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAvailableManagedRuleGroups service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListAvailableManagedRuleGroups Operation
public virtual Task ListAvailableManagedRuleGroupsAsync(ListAvailableManagedRuleGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAvailableManagedRuleGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAvailableManagedRuleGroupsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListAvailableManagedRuleGroupVersions
internal virtual ListAvailableManagedRuleGroupVersionsResponse ListAvailableManagedRuleGroupVersions(ListAvailableManagedRuleGroupVersionsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAvailableManagedRuleGroupVersionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAvailableManagedRuleGroupVersionsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Returns a list of the available versions for the specified managed rule group.
///
/// Container for the necessary parameters to execute the ListAvailableManagedRuleGroupVersions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListAvailableManagedRuleGroupVersions service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for ListAvailableManagedRuleGroupVersions Operation
public virtual Task ListAvailableManagedRuleGroupVersionsAsync(ListAvailableManagedRuleGroupVersionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListAvailableManagedRuleGroupVersionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListAvailableManagedRuleGroupVersionsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListIPSets
internal virtual ListIPSetsResponse ListIPSets(ListIPSetsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListIPSetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListIPSetsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of IPSetSummary objects for the IP sets that you manage.
///
/// Container for the necessary parameters to execute the ListIPSets service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListIPSets service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListIPSets Operation
public virtual Task ListIPSetsAsync(ListIPSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListIPSetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListIPSetsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListLoggingConfigurations
internal virtual ListLoggingConfigurationsResponse ListLoggingConfigurations(ListLoggingConfigurationsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListLoggingConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListLoggingConfigurationsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of your LoggingConfiguration objects.
///
/// Container for the necessary parameters to execute the ListLoggingConfigurations service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListLoggingConfigurations service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListLoggingConfigurations Operation
public virtual Task ListLoggingConfigurationsAsync(ListLoggingConfigurationsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListLoggingConfigurationsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListLoggingConfigurationsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListManagedRuleSets
internal virtual ListManagedRuleSetsResponse ListManagedRuleSets(ListManagedRuleSetsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListManagedRuleSetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListManagedRuleSetsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the managed rule sets that you own.
///
///
///
/// This is intended for use only by vendors of managed rule sets. Vendors are Amazon
/// Web Services and Amazon Web Services Marketplace sellers.
///
///
///
/// Vendors, you can use the managed rule set APIs to provide controlled rollout of your
/// versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets
,
/// GetManagedRuleSet
, PutManagedRuleSetVersions
, and UpdateManagedRuleSetVersionExpiryDate
.
///
///
///
/// Container for the necessary parameters to execute the ListManagedRuleSets service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListManagedRuleSets service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListManagedRuleSets Operation
public virtual Task ListManagedRuleSetsAsync(ListManagedRuleSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListManagedRuleSetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListManagedRuleSetsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListMobileSdkReleases
internal virtual ListMobileSdkReleasesResponse ListMobileSdkReleases(ListMobileSdkReleasesRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListMobileSdkReleasesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListMobileSdkReleasesResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves a list of the available releases for the mobile SDK and the specified device
/// platform.
///
///
///
/// The mobile SDK is not generally available. Customers who have access to the mobile
/// SDK can use it to establish and manage WAF tokens for use in HTTP(S) requests from
/// a mobile device to WAF. For more information, see WAF
/// client application integration in the WAF Developer Guide.
///
///
/// Container for the necessary parameters to execute the ListMobileSdkReleases service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListMobileSdkReleases service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListMobileSdkReleases Operation
public virtual Task ListMobileSdkReleasesAsync(ListMobileSdkReleasesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListMobileSdkReleasesRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListMobileSdkReleasesResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListRegexPatternSets
internal virtual ListRegexPatternSetsResponse ListRegexPatternSets(ListRegexPatternSetsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListRegexPatternSetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListRegexPatternSetsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of RegexPatternSetSummary objects for the regex pattern
/// sets that you manage.
///
/// Container for the necessary parameters to execute the ListRegexPatternSets service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListRegexPatternSets service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListRegexPatternSets Operation
public virtual Task ListRegexPatternSetsAsync(ListRegexPatternSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListRegexPatternSetsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListRegexPatternSetsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListResourcesForWebACL
internal virtual ListResourcesForWebACLResponse ListResourcesForWebACL(ListResourcesForWebACLRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListResourcesForWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListResourcesForWebACLResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of the Amazon Resource Names (ARNs) for the regional resources
/// that are associated with the specified web ACL. If you want the list of Amazon CloudFront
/// resources, use the CloudFront call ListDistributionsByWebACLId
.
///
/// Container for the necessary parameters to execute the ListResourcesForWebACL service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListResourcesForWebACL service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for ListResourcesForWebACL Operation
public virtual Task ListResourcesForWebACLAsync(ListResourcesForWebACLRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListResourcesForWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListResourcesForWebACLResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListRuleGroups
internal virtual ListRuleGroupsResponse ListRuleGroups(ListRuleGroupsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListRuleGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListRuleGroupsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of RuleGroupSummary objects for the rule groups that you
/// manage.
///
/// Container for the necessary parameters to execute the ListRuleGroups service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListRuleGroups service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListRuleGroups Operation
public virtual Task ListRuleGroupsAsync(ListRuleGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListRuleGroupsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListRuleGroupsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListTagsForResource
internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves the TagInfoForResource for the specified 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 Amazon Web Services
/// resource, up to 50 tags for a resource.
///
///
///
/// You can tag the Amazon Web Services resources that you manage through WAF: web ACLs,
/// rule groups, IP sets, and regex pattern sets. You can't manage or view tags through
/// the WAF console.
///
///
/// Container for the necessary parameters to execute the ListTagsForResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListTagsForResource service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for ListTagsForResource Operation
public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region ListWebACLs
internal virtual ListWebACLsResponse ListWebACLs(ListWebACLsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = ListWebACLsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListWebACLsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Retrieves an array of WebACLSummary objects for the web ACLs that you manage.
///
/// Container for the necessary parameters to execute the ListWebACLs service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the ListWebACLs service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
/// REST API Reference for ListWebACLs Operation
public virtual Task ListWebACLsAsync(ListWebACLsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = ListWebACLsRequestMarshaller.Instance;
options.ResponseUnmarshaller = ListWebACLsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutLoggingConfiguration
internal virtual PutLoggingConfigurationResponse PutLoggingConfiguration(PutLoggingConfigurationRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutLoggingConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutLoggingConfigurationResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Enables the specified LoggingConfiguration, to start logging from a web ACL,
/// according to the configuration provided.
///
///
///
/// This operation completely replaces any mutable specifications that you already have
/// for a logging configuration with the ones that you provide to this call.
///
///
///
/// To modify an existing logging configuration, do the following:
///
/// -
///
/// Retrieve it by calling GetLoggingConfiguration
///
///
-
///
/// Update its settings as needed
///
///
-
///
/// Provide the complete logging configuration specification to this call
///
///
///
/// You can define one logging destination per web ACL.
///
///
///
/// You can access information about the traffic that WAF inspects using the following
/// steps:
///
/// -
///
/// Create your logging destination. You can use an Amazon CloudWatch Logs log group,
/// an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose.
///
///
///
///
/// The name that you give the destination must start with
aws-waf-logs-
.
/// Depending on the type of destination, you might need to configure additional settings
/// or permissions.
///
///
///
/// For configuration requirements and pricing information for each destination type,
/// see Logging
/// web ACL traffic in the WAF Developer Guide.
///
/// -
///
/// Associate your logging destination to your web ACL using a
PutLoggingConfiguration
/// request.
///
///
///
/// When you successfully enable logging using a PutLoggingConfiguration
/// request, WAF creates an additional role or policy that is required to write logs to
/// the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource
/// policy on the log group. For an Amazon S3 bucket, WAF creates a bucket policy. For
/// an Amazon Kinesis Data Firehose, WAF creates a service-linked role.
///
///
///
/// For additional information about web ACL logging, see Logging
/// web ACL traffic information in the WAF Developer Guide.
///
///
/// Container for the necessary parameters to execute the PutLoggingConfiguration service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutLoggingConfiguration service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// The operation failed because you don't have the permissions that your logging configuration
/// requires. For information, see Logging
/// web ACL traffic information in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// 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 call to 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.
///
/// REST API Reference for PutLoggingConfiguration Operation
public virtual Task PutLoggingConfigurationAsync(PutLoggingConfigurationRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutLoggingConfigurationRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutLoggingConfigurationResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutManagedRuleSetVersions
internal virtual PutManagedRuleSetVersionsResponse PutManagedRuleSetVersions(PutManagedRuleSetVersionsRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutManagedRuleSetVersionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutManagedRuleSetVersionsResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Defines the versions of your managed rule set that you are offering to the customers.
/// Customers see your offerings as managed rule groups with versioning.
///
///
///
/// This is intended for use only by vendors of managed rule sets. Vendors are Amazon
/// Web Services and Amazon Web Services Marketplace sellers.
///
///
///
/// Vendors, you can use the managed rule set APIs to provide controlled rollout of your
/// versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets
,
/// GetManagedRuleSet
, PutManagedRuleSetVersions
, and UpdateManagedRuleSetVersionExpiryDate
.
///
///
///
/// Customers retrieve their managed rule group list by calling ListAvailableManagedRuleGroups.
/// The name that you provide here for your managed rule set is the name the customer
/// sees for the corresponding managed rule group. Customers can retrieve the available
/// versions for a managed rule group by calling ListAvailableManagedRuleGroupVersions.
/// You provide a rule group specification for each version. For each managed rule set,
/// you must specify a version that you recommend using.
///
///
///
/// To initiate the expiration of a managed rule group version, use UpdateManagedRuleSetVersionExpiryDate.
///
///
/// Container for the necessary parameters to execute the PutManagedRuleSetVersions service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutManagedRuleSetVersions service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
/// REST API Reference for PutManagedRuleSetVersions Operation
public virtual Task PutManagedRuleSetVersionsAsync(PutManagedRuleSetVersionsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutManagedRuleSetVersionsRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutManagedRuleSetVersionsResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region PutPermissionPolicy
internal virtual PutPermissionPolicyResponse PutPermissionPolicy(PutPermissionPolicyRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = PutPermissionPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutPermissionPolicyResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Attaches an IAM policy to the specified resource. Use this to share a rule group across
/// accounts.
///
///
///
/// You must be the owner of the rule group to perform this operation.
///
///
///
/// This action is subject to the following restrictions:
///
/// -
///
/// You can attach only one policy with each
PutPermissionPolicy
request.
///
/// -
///
/// The ARN in the request must be a valid WAF RuleGroup ARN and the rule group
/// must exist in the same Region.
///
///
-
///
/// The user making the request must be the owner of the rule group.
///
///
///
/// Container for the necessary parameters to execute the PutPermissionPolicy service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the PutPermissionPolicy service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// The operation failed because the specified policy isn't in the proper format.
///
///
///
/// The policy specifications must conform to the following:
///
/// -
///
/// The policy must be composed using IAM Policy version 2012-10-17.
///
///
-
///
/// The policy must include specifications for
Effect
, Action
,
/// and Principal
.
///
/// -
///
///
Effect
must specify Allow
.
///
/// -
///
///
Action
must specify wafv2:CreateWebACL
, wafv2:UpdateWebACL
,
/// and wafv2:PutFirewallManagerRuleGroups
and may optionally specify wafv2:GetRuleGroup
.
/// WAF rejects any extra actions or wildcard actions in the policy.
///
/// -
///
/// The policy must not include a
Resource
parameter.
///
///
///
/// For more information, see IAM
/// Policies.
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
/// REST API Reference for PutPermissionPolicy Operation
public virtual Task PutPermissionPolicyAsync(PutPermissionPolicyRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = PutPermissionPolicyRequestMarshaller.Instance;
options.ResponseUnmarshaller = PutPermissionPolicyResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region TagResource
internal virtual TagResourceResponse TagResource(TagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Associates tags with the specified Amazon Web Services 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 Amazon Web Services
/// resource, up to 50 tags for a resource.
///
///
///
/// You can tag the Amazon Web Services resources that you manage through WAF: web ACLs,
/// rule groups, IP sets, and regex pattern sets. You can't manage or view tags through
/// the WAF console.
///
///
/// Container for the necessary parameters to execute the TagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the TagResource service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for TagResource Operation
public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = TagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UntagResource
internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Disassociates tags from an Amazon Web Services resource. Tags are key:value pairs
/// that you can associate with Amazon Web Services resources. For example, the tag key
/// might be "customer" and the tag value might be "companyA." You can specify one or
/// more tags to add to each container. You can add up to 50 tags to each Amazon Web Services
/// resource.
///
/// Container for the necessary parameters to execute the UntagResource service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UntagResource service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// An error occurred during the tagging operation. Retry your request.
///
///
/// WAF couldn’t perform your tagging operation because of an internal error. Retry your
/// request.
///
/// REST API Reference for UntagResource Operation
public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UntagResourceRequestMarshaller.Instance;
options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateIPSet
internal virtual UpdateIPSetResponse UpdateIPSet(UpdateIPSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateIPSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates the specified IPSet.
///
///
///
/// This operation completely replaces the mutable specifications that you already have
/// for the IP set with the ones that you provide to this call.
///
///
///
/// To modify an IP set, do the following:
///
/// -
///
/// Retrieve it by calling GetIPSet
///
///
-
///
/// Update its settings as needed
///
///
-
///
/// Provide the complete IP set specification to this call
///
///
///
/// When you make changes to web ACLs or web ACL components, like rules and rule groups,
/// WAF propagates the changes everywhere that the web ACL and its components are stored
/// and used. Your changes are applied within seconds, but there might be a brief period
/// of inconsistency when the changes have arrived in some places and not in others. So,
/// for example, if you change a rule action setting, the action might be the old action
/// in one area and the new action in another area. Or if you add an IP address to an
/// IP set used in a blocking rule, the new address might briefly be blocked in one area
/// while still allowed in another. This temporary inconsistency can occur when you first
/// associate a web ACL with an Amazon Web Services resource and when you change a web
/// ACL that is already associated with a resource. Generally, any inconsistencies of
/// this type last only a few seconds.
///
///
/// Container for the necessary parameters to execute the UpdateIPSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateIPSet service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
/// REST API Reference for UpdateIPSet Operation
public virtual Task UpdateIPSetAsync(UpdateIPSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateIPSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateIPSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateManagedRuleSetVersionExpiryDate
internal virtual UpdateManagedRuleSetVersionExpiryDateResponse UpdateManagedRuleSetVersionExpiryDate(UpdateManagedRuleSetVersionExpiryDateRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateManagedRuleSetVersionExpiryDateRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateManagedRuleSetVersionExpiryDateResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates the expiration information for your managed rule set. Use this to initiate
/// the expiration of a managed rule group version. After you initiate expiration for
/// a version, WAF excludes it from the response to ListAvailableManagedRuleGroupVersions
/// for the managed rule group.
///
///
///
/// This is intended for use only by vendors of managed rule sets. Vendors are Amazon
/// Web Services and Amazon Web Services Marketplace sellers.
///
///
///
/// Vendors, you can use the managed rule set APIs to provide controlled rollout of your
/// versioned managed rule group offerings for your customers. The APIs are ListManagedRuleSets
,
/// GetManagedRuleSet
, PutManagedRuleSetVersions
, and UpdateManagedRuleSetVersionExpiryDate
.
///
///
///
/// Container for the necessary parameters to execute the UpdateManagedRuleSetVersionExpiryDate service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateManagedRuleSetVersionExpiryDate service method, as returned by WAFV2.
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
/// REST API Reference for UpdateManagedRuleSetVersionExpiryDate Operation
public virtual Task UpdateManagedRuleSetVersionExpiryDateAsync(UpdateManagedRuleSetVersionExpiryDateRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateManagedRuleSetVersionExpiryDateRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateManagedRuleSetVersionExpiryDateResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateRegexPatternSet
internal virtual UpdateRegexPatternSetResponse UpdateRegexPatternSet(UpdateRegexPatternSetRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateRegexPatternSetResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates the specified RegexPatternSet.
///
///
///
/// This operation completely replaces the mutable specifications that you already have
/// for the regex pattern set with the ones that you provide to this call.
///
///
///
/// To modify a regex pattern set, do the following:
///
/// -
///
/// Retrieve it by calling GetRegexPatternSet
///
///
-
///
/// Update its settings as needed
///
///
-
///
/// Provide the complete regex pattern set specification to this call
///
///
///
/// When you make changes to web ACLs or web ACL components, like rules and rule groups,
/// WAF propagates the changes everywhere that the web ACL and its components are stored
/// and used. Your changes are applied within seconds, but there might be a brief period
/// of inconsistency when the changes have arrived in some places and not in others. So,
/// for example, if you change a rule action setting, the action might be the old action
/// in one area and the new action in another area. Or if you add an IP address to an
/// IP set used in a blocking rule, the new address might briefly be blocked in one area
/// while still allowed in another. This temporary inconsistency can occur when you first
/// associate a web ACL with an Amazon Web Services resource and when you change a web
/// ACL that is already associated with a resource. Generally, any inconsistencies of
/// this type last only a few seconds.
///
///
/// Container for the necessary parameters to execute the UpdateRegexPatternSet service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateRegexPatternSet service method, as returned by WAFV2.
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
/// REST API Reference for UpdateRegexPatternSet Operation
public virtual Task UpdateRegexPatternSetAsync(UpdateRegexPatternSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateRegexPatternSetRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateRegexPatternSetResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateRuleGroup
internal virtual UpdateRuleGroupResponse UpdateRuleGroup(UpdateRuleGroupRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateRuleGroupResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates the specified RuleGroup.
///
///
///
/// This operation completely replaces the mutable specifications that you already have
/// for the rule group with the ones that you provide to this call.
///
///
///
/// To modify a rule group, do the following:
///
/// -
///
/// Retrieve it by calling GetRuleGroup
///
///
-
///
/// Update its settings as needed
///
///
-
///
/// Provide the complete rule group specification to this call
///
///
///
/// When you make changes to web ACLs or web ACL components, like rules and rule groups,
/// WAF propagates the changes everywhere that the web ACL and its components are stored
/// and used. Your changes are applied within seconds, but there might be a brief period
/// of inconsistency when the changes have arrived in some places and not in others. So,
/// for example, if you change a rule action setting, the action might be the old action
/// in one area and the new action in another area. Or if you add an IP address to an
/// IP set used in a blocking rule, the new address might briefly be blocked in one area
/// while still allowed in another. This temporary inconsistency can occur when you first
/// associate a web ACL with an Amazon Web Services resource and when you change a web
/// ACL that is already associated with a resource. Generally, any inconsistencies of
/// this type last only a few seconds.
///
///
///
/// A rule group defines a collection of rules to inspect and control web requests that
/// you can use in a WebACL. When you create a rule group, you define an immutable
/// capacity limit. If you update a rule group, you must stay within the capacity. This
/// allows others to reuse the rule group with confidence in its capacity requirements.
///
///
///
/// Container for the necessary parameters to execute the UpdateRuleGroup service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateRuleGroup service method, as returned by WAFV2.
///
/// The operation failed because you are inspecting the web request body, headers, or
/// cookies without specifying how to handle oversize components. Rules that inspect the
/// body must either provide an OversizeHandling
configuration or they must
/// be preceded by a SizeConstraintStatement
that blocks the body content
/// from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling
/// configuration.
///
///
///
/// Provide the handling configuration and retry your operation.
///
///
///
/// Alternately, you can suppress this warning by adding the following tag to the resource
/// that you provide to this operation: Tag
(key:WAF:OversizeFieldsHandlingConstraintOptOut
,
/// value:true
).
///
///
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// You tried to use a managed rule group that's available by subscription, but you aren't
/// subscribed to it yet.
///
///
/// WAF couldn’t retrieve a resource that you specified for this operation. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate. Verify the resources that you are specifying in your request parameters
/// and then retry the operation.
///
/// REST API Reference for UpdateRuleGroup Operation
public virtual Task UpdateRuleGroupAsync(UpdateRuleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateRuleGroupRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateRuleGroupResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
#region UpdateWebACL
internal virtual UpdateWebACLResponse UpdateWebACL(UpdateWebACLRequest request)
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateWebACLResponseUnmarshaller.Instance;
return Invoke(request, options);
}
///
/// Updates the specified WebACL. While updating a web ACL, WAF provides continuous
/// coverage to the resources that you have associated with the web ACL.
///
///
///
/// This operation completely replaces the mutable specifications that you already have
/// for the web ACL with the ones that you provide to this call.
///
///
///
/// To modify a web ACL, do the following:
///
/// -
///
/// Retrieve it by calling GetWebACL
///
///
-
///
/// Update its settings as needed
///
///
-
///
/// Provide the complete web ACL specification to this call
///
///
///
/// When you make changes to web ACLs or web ACL components, like rules and rule groups,
/// WAF propagates the changes everywhere that the web ACL and its components are stored
/// and used. Your changes are applied within seconds, but there might be a brief period
/// of inconsistency when the changes have arrived in some places and not in others. So,
/// for example, if you change a rule action setting, the action might be the old action
/// in one area and the new action in another area. Or if you add an IP address to an
/// IP set used in a blocking rule, the new address might briefly be blocked in one area
/// while still allowed in another. This temporary inconsistency can occur when you first
/// associate a web ACL with an Amazon Web Services resource and when you change a web
/// ACL that is already associated with a resource. Generally, any inconsistencies of
/// this type last only a few seconds.
///
///
///
/// A web ACL defines a collection of rules to use to inspect and control web requests.
/// Each rule has an action defined (allow, block, or count) for requests that match the
/// statement of the rule. In the web ACL, you assign a default action to take (allow,
/// block) for any request that does not match any of the rules. The rules in a web ACL
/// can be a combination of the types Rule, RuleGroup, and managed rule
/// group. You can associate a web ACL with one or more Amazon Web Services resources
/// to protect. The resources can be an Amazon CloudFront distribution, an Amazon API
/// Gateway REST API, an Application Load Balancer, an AppSync GraphQL API, an Amazon
/// Cognito user pool, an App Runner service, or an Amazon Web Services Verified Access
/// instance.
///
///
/// Container for the necessary parameters to execute the UpdateWebACL service method.
///
/// A cancellation token that can be used by other objects or threads to receive notice of cancellation.
///
///
/// The response from the UpdateWebACL service method, as returned by WAFV2.
///
/// The operation failed because you are inspecting the web request body, headers, or
/// cookies without specifying how to handle oversize components. Rules that inspect the
/// body must either provide an OversizeHandling
configuration or they must
/// be preceded by a SizeConstraintStatement
that blocks the body content
/// from being too large. Rules that inspect the headers or cookies must provide an OversizeHandling
/// configuration.
///
///
///
/// Provide the handling configuration and retry your operation.
///
///
///
/// Alternately, you can suppress this warning by adding the following tag to the resource
/// that you provide to this operation: Tag
(key:WAF:OversizeFieldsHandlingConstraintOptOut
,
/// value:true
).
///
///
///
/// WAF couldn’t perform the operation because the resource that you tried to save is
/// a duplicate of an existing one.
///
///
/// The operation failed because the specified version for the managed rule group has
/// expired. You can retrieve the available versions for the managed rule group by calling
/// ListAvailableManagedRuleGroupVersions.
///
///
/// Your request is valid, but WAF couldn’t perform the operation because of a system
/// problem. Retry your request.
///
///
/// The operation isn't valid.
///
///
/// The operation failed because WAF didn't recognize a parameter in the request. For
/// example:
///
/// -
///
/// You specified a parameter name or value that isn't valid.
///
///
-
///
/// Your nested statement isn't valid. You might have tried to nest a statement that can’t
/// be nested.
///
///
-
///
/// You tried to update a
WebACL
with a DefaultAction
that isn't
/// among the types available at DefaultAction.
///
/// -
///
/// Your request references an ARN that is malformed, or corresponds to a resource with
/// which a web ACL can't be associated.
///
///
///
///
/// WAF couldn’t perform the operation because the resource that you requested isn’t valid.
/// Check the resource, and try again.
///
///
/// WAF couldn’t perform the operation because you exceeded your resource limit. For example,
/// the maximum number of WebACL
objects that you can create for an Amazon
/// Web Services account. For more information, see WAF
/// quotas in the WAF Developer Guide.
///
///
/// WAF couldn’t perform the operation because your resource doesn't exist. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate.
///
///
/// WAF couldn’t save your changes because you tried to update or delete a resource that
/// has changed since you last retrieved it. Get the resource again, make any changes
/// you need to make to the new copy, and retry your operation.
///
///
/// You tried to use a managed rule group that's available by subscription, but you aren't
/// subscribed to it yet.
///
///
/// WAF couldn’t retrieve a resource that you specified for this operation. If you've
/// just created a resource that you're using in this operation, you might just need to
/// wait a few minutes. It can take from a few seconds to a number of minutes for changes
/// to propagate. Verify the resources that you are specifying in your request parameters
/// and then retry the operation.
///
/// REST API Reference for UpdateWebACL Operation
public virtual Task UpdateWebACLAsync(UpdateWebACLRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
{
var options = new InvokeOptions();
options.RequestMarshaller = UpdateWebACLRequestMarshaller.Instance;
options.ResponseUnmarshaller = UpdateWebACLResponseUnmarshaller.Instance;
return InvokeAsync(request, options, cancellationToken);
}
#endregion
}
}