/* * 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 waf-2015-08-24.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.WAF.Model; using Amazon.WAF.Model.Internal.MarshallTransformations; using Amazon.WAF.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.WAF { /// /// Implementation for accessing WAF /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// This is the AWS WAF Classic API Reference for using AWS WAF Classic with Amazon /// CloudFront. The AWS WAF Classic actions and data types listed in the reference are /// available for protecting Amazon CloudFront distributions. You can use these actions /// and data types via the endpoint waf.amazonaws.com. This guide is for developers /// who need detailed information about the AWS WAF Classic API actions, data types, and /// errors. For detailed information about AWS WAF Classic features and an overview of /// how to use the AWS WAF Classic API, see the AWS /// WAF Classic in the developer guide. /// /// public partial class AmazonWAFClient : AmazonServiceClient, IAmazonWAF { private static IServiceMetadata serviceMetadata = new AmazonWAFMetadata(); #region Constructors /// /// Constructs AmazonWAFClient 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 AmazonWAFClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonWAFConfig()) { } /// /// Constructs AmazonWAFClient 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 AmazonWAFClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonWAFConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonWAFClient 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 AmazonWAFClient Configuration Object public AmazonWAFClient(AmazonWAFConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonWAFClient with AWS Credentials /// /// AWS Credentials public AmazonWAFClient(AWSCredentials credentials) : this(credentials, new AmazonWAFConfig()) { } /// /// Constructs AmazonWAFClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonWAFClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonWAFConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonWAFClient with AWS Credentials and an /// AmazonWAFClient Configuration object. /// /// AWS Credentials /// The AmazonWAFClient Configuration Object public AmazonWAFClient(AWSCredentials credentials, AmazonWAFConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonWAFClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonWAFClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonWAFConfig()) { } /// /// Constructs AmazonWAFClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonWAFClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonWAFConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonWAFClient with AWS Access Key ID, AWS Secret Key and an /// AmazonWAFClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonWAFClient Configuration Object public AmazonWAFClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonWAFConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonWAFClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonWAFClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonWAFConfig()) { } /// /// Constructs AmazonWAFClient 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 AmazonWAFClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonWAFConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonWAFClient with AWS Access Key ID, AWS Secret Key and an /// AmazonWAFClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonWAFClient Configuration Object public AmazonWAFClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonWAFConfig 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 AmazonWAFEndpointResolver()); } /// /// 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 CreateByteMatchSet internal virtual CreateByteMatchSetResponse CreateByteMatchSet(CreateByteMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateByteMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify /// the part of a web request that you want AWS WAF to inspect, such as the values of /// the User-Agent header or the query string. For example, you can create /// a ByteMatchSet that matches any requests with User-Agent /// headers that contain the string BadBot. You can then configure AWS WAF /// to reject those requests. /// /// /// /// To create and configure a ByteMatchSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateByteMatchSet request. /// ///
  2. /// /// Submit a CreateByteMatchSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateByteMatchSet request. /// ///
  4. /// /// Submit an UpdateByteMatchSet request to specify the part of the request that /// you want AWS WAF to inspect (for example, the header or the URI) and the value that /// you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// A friendly name or description of the ByteMatchSet. You can't change Name after you create a ByteMatchSet. /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateByteMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateByteMatchSet Operation public virtual Task CreateByteMatchSetAsync(string name, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new CreateByteMatchSetRequest(); request.Name = name; request.ChangeToken = changeToken; return CreateByteMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a ByteMatchSet. You then use UpdateByteMatchSet to identify /// the part of a web request that you want AWS WAF to inspect, such as the values of /// the User-Agent header or the query string. For example, you can create /// a ByteMatchSet that matches any requests with User-Agent /// headers that contain the string BadBot. You can then configure AWS WAF /// to reject those requests. /// /// /// /// To create and configure a ByteMatchSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateByteMatchSet request. /// ///
  2. /// /// Submit a CreateByteMatchSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateByteMatchSet request. /// ///
  4. /// /// Submit an UpdateByteMatchSet request to specify the part of the request that /// you want AWS WAF to inspect (for example, the header or the URI) and the value that /// you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateByteMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateByteMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateByteMatchSet Operation public virtual Task CreateByteMatchSetAsync(CreateByteMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateByteMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateGeoMatchSet internal virtual CreateGeoMatchSetResponse CreateGeoMatchSet(CreateGeoMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateGeoMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates an GeoMatchSet, which you use to specify which web requests you want /// to allow or block based on the country that the requests originate from. For example, /// if you're receiving a lot of requests from one or more countries and you want to block /// the requests, you can create an GeoMatchSet that contains those countries /// and then configure AWS WAF to block the requests. /// /// /// /// To create and configure a GeoMatchSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateGeoMatchSet request. /// ///
  2. /// /// Submit a CreateGeoMatchSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateGeoMatchSet request. /// ///
  4. /// /// Submit an UpdateGeoMatchSetSet request to specify the countries that /// you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateGeoMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateGeoMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateGeoMatchSet Operation public virtual Task CreateGeoMatchSetAsync(CreateGeoMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateGeoMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates an IPSet, which you use to specify which web requests that you want /// to allow or block based on the IP addresses that the requests originate from. For /// example, if you're receiving a lot of requests from one or more individual IP addresses /// or one or more ranges of IP addresses and you want to block the requests, you can /// create an IPSet that contains those IP addresses and then configure AWS /// WAF to block the requests. /// /// /// /// To create and configure an IPSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateIPSet request. /// ///
  2. /// /// Submit a CreateIPSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateIPSet request. /// ///
  4. /// /// Submit an UpdateIPSet request to specify the IP addresses that you want /// AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// A friendly name or description of the IPSet. You can't change Name after you create the IPSet. /// The value returned by the most recent call to GetChangeToken. /// /// 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 WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateIPSet Operation public virtual Task CreateIPSetAsync(string name, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new CreateIPSetRequest(); request.Name = name; request.ChangeToken = changeToken; return CreateIPSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates an IPSet, which you use to specify which web requests that you want /// to allow or block based on the IP addresses that the requests originate from. For /// example, if you're receiving a lot of requests from one or more individual IP addresses /// or one or more ranges of IP addresses and you want to block the requests, you can /// create an IPSet that contains those IP addresses and then configure AWS /// WAF to block the requests. /// /// /// /// To create and configure an IPSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateIPSet request. /// ///
  2. /// /// Submit a CreateIPSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateIPSet request. /// ///
  4. /// /// Submit an UpdateIPSet request to specify the IP addresses that you want /// AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// 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 WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 CreateRateBasedRule internal virtual CreateRateBasedRuleResponse CreateRateBasedRule(CreateRateBasedRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRateBasedRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a RateBasedRule. The RateBasedRule contains a RateLimit, /// which specifies the maximum number of requests that AWS WAF allows from a specified /// IP address in a five-minute period. The RateBasedRule also contains the /// IPSet objects, ByteMatchSet objects, and other predicates /// that identify the requests that you want to count or block if these requests exceed /// the RateLimit. /// /// /// /// If you add more than one predicate to a RateBasedRule, a request not /// only must exceed the RateLimit, but it also must match all the conditions /// to be counted or blocked. For example, suppose you add the following to a RateBasedRule: /// ///
  • /// /// An IPSet that matches the IP address 192.0.2.44/32 /// ///
  • /// /// A ByteMatchSet that matches BadBot in the User-Agent /// header /// ///
/// /// Further, you specify a RateLimit of 1,000. /// /// /// /// You then add the RateBasedRule to a WebACL and specify that /// you want to block requests that meet the conditions in the rule. For a request to /// be blocked, it must come from the IP address 192.0.2.44 and the User-Agent /// header in the request must contain the value BadBot. Further, requests /// that match these two conditions must be received at a rate of more than 1,000 requests /// every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks /// the requests. If the rate drops below 1,000 for a five-minute period, AWS WAF no longer /// blocks the requests. /// /// /// /// As a second example, suppose you want to limit requests to a particular page on your /// site. To do this, you could add the following to a RateBasedRule: /// ///
  • /// /// A ByteMatchSet with FieldToMatch of URI /// ///
  • /// /// A PositionalConstraint of STARTS_WITH /// ///
  • /// /// A TargetString of login /// ///
/// /// Further, you specify a RateLimit of 1,000. /// /// /// /// By adding this RateBasedRule to a WebACL, you could limit /// requests to your login page without affecting the rest of your site. /// /// /// /// To create and configure a RateBasedRule, perform the following steps: /// ///
  1. /// /// Create and update the predicates that you want to include in the rule. For more information, /// see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateRule request. /// ///
  3. /// /// Submit a CreateRateBasedRule request. /// ///
  4. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRule request. /// ///
  5. /// /// Submit an UpdateRateBasedRule request to specify the predicates that /// you want to include in the rule. /// ///
  6. /// /// Create and update a WebACL that contains the RateBasedRule. /// For more information, see CreateWebACL. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateRateBasedRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateRateBasedRule service method, as returned by WAF. /// /// /// /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// REST API Reference for CreateRateBasedRule Operation public virtual Task CreateRateBasedRuleAsync(CreateRateBasedRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRateBasedRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateRegexMatchSet internal virtual CreateRegexMatchSetResponse CreateRegexMatchSet(CreateRegexMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRegexMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify /// the part of a web request that you want AWS WAF to inspect, such as the values of /// the User-Agent header or the query string. For example, you can create /// a RegexMatchSet that contains a RegexMatchTuple that looks /// for any requests with User-Agent headers that match a RegexPatternSet /// with pattern B[a@]dB[o0]t. You can then configure AWS WAF to reject those /// requests. /// /// /// /// To create and configure a RegexMatchSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateRegexMatchSet request. /// ///
  2. /// /// Submit a CreateRegexMatchSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRegexMatchSet request. /// ///
  4. /// /// Submit an UpdateRegexMatchSet request to specify the part of the request that /// you want AWS WAF to inspect (for example, the header or the URI) and the value, using /// a RegexPatternSet, that you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateRegexMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateRegexMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateRegexMatchSet Operation public virtual Task CreateRegexMatchSetAsync(CreateRegexMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRegexMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a RegexPatternSet. You then use UpdateRegexPatternSet /// to specify the regular expression (regex) pattern that you want AWS WAF to search /// for, such as B[a@]dB[o0]t. You can then configure AWS WAF to reject those /// requests. /// /// /// /// To create and configure a RegexPatternSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateRegexPatternSet request. /// ///
  2. /// /// Submit a CreateRegexPatternSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRegexPatternSet request. /// ///
  4. /// /// Submit an UpdateRegexPatternSet request to specify the string that you want /// AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// 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 WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 CreateRule internal virtual CreateRuleResponse CreateRule(CreateRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a Rule, which contains the IPSet objects, ByteMatchSet /// objects, and other predicates that identify the requests that you want to block. If /// you add more than one predicate to a Rule, a request must match all of /// the specifications to be allowed or blocked. For example, suppose that you add the /// following to a Rule: /// ///
  • /// /// An IPSet that matches the IP address 192.0.2.44/32 /// ///
  • /// /// A ByteMatchSet that matches BadBot in the User-Agent /// header /// ///
/// /// You then add the Rule to a WebACL and specify that you want /// to blocks requests that satisfy the Rule. For a request to be blocked, /// it must come from the IP address 192.0.2.44 and the User-Agent /// header in the request must contain the value BadBot. /// /// /// /// To create and configure a Rule, perform the following steps: /// ///
  1. /// /// Create and update the predicates that you want to include in the Rule. /// For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateRule request. /// ///
  3. /// /// Submit a CreateRule request. /// ///
  4. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRule request. /// ///
  5. /// /// Submit an UpdateRule request to specify the predicates that you want /// to include in the Rule. /// ///
  6. /// /// Create and update a WebACL that contains the Rule. For more /// information, see CreateWebACL. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// A friendly name or description of the Rule. You can't change the name of a Rule after you create it. /// The value returned by the most recent call to GetChangeToken. /// A friendly name or description for the metrics for this Rule. The name can contain only alphanumeric characters (A-Z, a-z, 0-9), with maximum length 128 and minimum length one. It can't contain whitespace or metric names reserved for AWS WAF, including "All" and "Default_Action." You can't change the name of the metric after you create the Rule. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateRule service method, as returned by WAF. /// /// /// /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// REST API Reference for CreateRule Operation public virtual Task CreateRuleAsync(string name, string changeToken, string metricName, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new CreateRuleRequest(); request.Name = name; request.ChangeToken = changeToken; request.MetricName = metricName; return CreateRuleAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a Rule, which contains the IPSet objects, ByteMatchSet /// objects, and other predicates that identify the requests that you want to block. If /// you add more than one predicate to a Rule, a request must match all of /// the specifications to be allowed or blocked. For example, suppose that you add the /// following to a Rule: /// ///
  • /// /// An IPSet that matches the IP address 192.0.2.44/32 /// ///
  • /// /// A ByteMatchSet that matches BadBot in the User-Agent /// header /// ///
/// /// You then add the Rule to a WebACL and specify that you want /// to blocks requests that satisfy the Rule. For a request to be blocked, /// it must come from the IP address 192.0.2.44 and the User-Agent /// header in the request must contain the value BadBot. /// /// /// /// To create and configure a Rule, perform the following steps: /// ///
  1. /// /// Create and update the predicates that you want to include in the Rule. /// For more information, see CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateRule request. /// ///
  3. /// /// Submit a CreateRule request. /// ///
  4. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRule request. /// ///
  5. /// /// Submit an UpdateRule request to specify the predicates that you want /// to include in the Rule. /// ///
  6. /// /// Create and update a WebACL that contains the Rule. For more /// information, see CreateWebACL. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateRule service method, as returned by WAF. /// /// /// /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// REST API Reference for CreateRule Operation public virtual Task CreateRuleAsync(CreateRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateRuleResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a RuleGroup. A rule group is a collection of predefined rules /// that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule /// group. /// /// /// /// Rule groups are subject to the following limits: /// ///
  • /// /// Three rule groups per account. You can request an increase to this limit by contacting /// customer support. /// ///
  • /// /// One rule group per web ACL. /// ///
  • /// /// Ten rules per rule group. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// 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 WAF. /// /// /// /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// 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 CreateSizeConstraintSet internal virtual CreateSizeConstraintSetResponse CreateSizeConstraintSet(CreateSizeConstraintSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSizeConstraintSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a SizeConstraintSet. You then use UpdateSizeConstraintSet /// to identify the part of a web request that you want AWS WAF to check for length, such /// as the length of the User-Agent header or the length of the query string. /// For example, you can create a SizeConstraintSet that matches any requests /// that have a query string that is longer than 100 bytes. You can then configure AWS /// WAF to reject those requests. /// /// /// /// To create and configure a SizeConstraintSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateSizeConstraintSet request. /// ///
  2. /// /// Submit a CreateSizeConstraintSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateSizeConstraintSet request. /// ///
  4. /// /// Submit an UpdateSizeConstraintSet request to specify the part of the request /// that you want AWS WAF to inspect (for example, the header or the URI) and the value /// that you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateSizeConstraintSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateSizeConstraintSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateSizeConstraintSet Operation public virtual Task CreateSizeConstraintSetAsync(CreateSizeConstraintSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSizeConstraintSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateSqlInjectionMatchSet internal virtual CreateSqlInjectionMatchSetResponse CreateSqlInjectionMatchSet(CreateSqlInjectionMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSqlInjectionMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests /// that contain snippets of SQL code in a specified part of web requests. AWS WAF searches /// for character sequences that are likely to be malicious strings. /// /// /// /// To create and configure a SqlInjectionMatchSet, perform the following /// steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateSqlInjectionMatchSet request. /// ///
  2. /// /// Submit a CreateSqlInjectionMatchSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateSqlInjectionMatchSet request. /// ///
  4. /// /// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests /// in which you want to allow, block, or count malicious SQL code. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// A friendly name or description for the SqlInjectionMatchSet that you're creating. You can't change Name after you create the SqlInjectionMatchSet. /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateSqlInjectionMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateSqlInjectionMatchSet Operation public virtual Task CreateSqlInjectionMatchSetAsync(string name, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new CreateSqlInjectionMatchSetRequest(); request.Name = name; request.ChangeToken = changeToken; return CreateSqlInjectionMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests /// that contain snippets of SQL code in a specified part of web requests. AWS WAF searches /// for character sequences that are likely to be malicious strings. /// /// /// /// To create and configure a SqlInjectionMatchSet, perform the following /// steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateSqlInjectionMatchSet request. /// ///
  2. /// /// Submit a CreateSqlInjectionMatchSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateSqlInjectionMatchSet request. /// ///
  4. /// /// Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests /// in which you want to allow, block, or count malicious SQL code. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateSqlInjectionMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateSqlInjectionMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateSqlInjectionMatchSet Operation public virtual Task CreateSqlInjectionMatchSetAsync(CreateSqlInjectionMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateSqlInjectionMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates a WebACL, which contains the Rules that identify /// the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates /// Rules in order based on the value of Priority for each Rule. /// /// /// /// You also specify a default action, either ALLOW or BLOCK. /// If a web request doesn't match any of the Rules in a WebACL, /// AWS WAF responds to the request with the default action. /// /// /// /// To create and configure a WebACL, perform the following steps: /// ///
  1. /// /// Create and update the ByteMatchSet objects and other predicates that /// you want to include in Rules. For more information, see CreateByteMatchSet, /// UpdateByteMatchSet, CreateIPSet, UpdateIPSet, CreateSqlInjectionMatchSet, /// and UpdateSqlInjectionMatchSet. /// ///
  2. /// /// Create and update the Rules that you want to include in the WebACL. /// For more information, see CreateRule and UpdateRule. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateWebACL request. /// ///
  4. /// /// Submit a CreateWebACL request. /// ///
  5. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateWebACL request. /// ///
  6. /// /// Submit an UpdateWebACL request to specify the Rules that you want /// to include in the WebACL, to specify the default action, and to associate /// the WebACL with a CloudFront distribution. /// ///
/// /// For more information about how to use the AWS WAF API, see the AWS /// WAF Developer Guide. /// ///
/// 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 WAF. /// /// /// /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// 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 CreateWebACLMigrationStack internal virtual CreateWebACLMigrationStackResponse CreateWebACLMigrationStack(CreateWebACLMigrationStackRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateWebACLMigrationStackRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateWebACLMigrationStackResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the specified /// Amazon S3 bucket. Then, in CloudFormation, you create a stack from the template, to /// create the web ACL and its resources in AWS WAFV2. Use this to migrate your AWS WAF /// Classic web ACL to the latest version of AWS WAF. /// /// /// /// This is part of a larger migration procedure for web ACLs from AWS WAF Classic to /// the latest version of AWS WAF. For the full procedure, including caveats and manual /// steps to complete the migration and switch over to the new web ACL, see Migrating /// your AWS WAF Classic resources to AWS WAF in the AWS /// WAF Developer Guide. /// /// /// Container for the necessary parameters to execute the CreateWebACLMigrationStack service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateWebACLMigrationStack service method, as returned by WAF. /// /// The operation failed due to a problem with the migration. The failure cause is provided /// in the exception, in the MigrationErrorType: /// ///
  • /// /// ENTITY_NOT_SUPPORTED - The web ACL has an unsupported entity but the /// IgnoreUnsupportedType is not set to true. /// ///
  • /// /// ENTITY_NOT_FOUND - The web ACL doesn't exist. /// ///
  • /// /// S3_BUCKET_NO_PERMISSION - You don't have permission to perform the PutObject /// action to the specified Amazon S3 bucket. /// ///
  • /// /// S3_BUCKET_NOT_ACCESSIBLE - The bucket policy doesn't allow AWS WAF to /// perform the PutObject action in the bucket. /// ///
  • /// /// S3_BUCKET_NOT_FOUND - The S3 bucket doesn't exist. /// ///
  • /// /// S3_BUCKET_INVALID_REGION - The S3 bucket is not in the same Region as /// the web ACL. /// ///
  • /// /// S3_INTERNAL_ERROR - AWS WAF failed to create the template in the S3 /// bucket for another reason. /// ///
///
/// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for CreateWebACLMigrationStack Operation public virtual Task CreateWebACLMigrationStackAsync(CreateWebACLMigrationStackRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateWebACLMigrationStackRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateWebACLMigrationStackResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateXssMatchSet internal virtual CreateXssMatchSetResponse CreateXssMatchSet(CreateXssMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateXssMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Creates an XssMatchSet, which you use to allow, block, or count requests that /// contain cross-site scripting attacks in the specified part of web requests. AWS WAF /// searches for character sequences that are likely to be malicious strings. /// /// /// /// To create and configure an XssMatchSet, perform the following steps: /// ///
  1. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a CreateXssMatchSet request. /// ///
  2. /// /// Submit a CreateXssMatchSet request. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateXssMatchSet request. /// ///
  4. /// /// Submit an UpdateXssMatchSet request to specify the parts of web requests in /// which you want to allow, block, or count cross-site scripting attacks. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the CreateXssMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateXssMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for CreateXssMatchSet Operation public virtual Task CreateXssMatchSetAsync(CreateXssMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateXssMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteByteMatchSet internal virtual DeleteByteMatchSetResponse DeleteByteMatchSet(DeleteByteMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteByteMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet /// if it's still used in any Rules or if it still includes any ByteMatchTuple /// objects (any filters). /// /// /// /// If you just want to remove a ByteMatchSet from a Rule, use /// UpdateRule. /// /// /// /// To permanently delete a ByteMatchSet, perform the following steps: /// ///
  1. /// /// Update the ByteMatchSet to remove filters, if any. For more information, /// see UpdateByteMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteByteMatchSet request. /// ///
  3. /// /// Submit a DeleteByteMatchSet request. /// ///
///
/// The ByteMatchSetId of the ByteMatchSet that you want to delete. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteByteMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteByteMatchSet Operation public virtual Task DeleteByteMatchSetAsync(string byteMatchSetId, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new DeleteByteMatchSetRequest(); request.ByteMatchSetId = byteMatchSetId; request.ChangeToken = changeToken; return DeleteByteMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet /// if it's still used in any Rules or if it still includes any ByteMatchTuple /// objects (any filters). /// /// /// /// If you just want to remove a ByteMatchSet from a Rule, use /// UpdateRule. /// /// /// /// To permanently delete a ByteMatchSet, perform the following steps: /// ///
  1. /// /// Update the ByteMatchSet to remove filters, if any. For more information, /// see UpdateByteMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteByteMatchSet request. /// ///
  3. /// /// Submit a DeleteByteMatchSet request. /// ///
///
/// Container for the necessary parameters to execute the DeleteByteMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteByteMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteByteMatchSet Operation public virtual Task DeleteByteMatchSetAsync(DeleteByteMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteByteMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteGeoMatchSet internal virtual DeleteGeoMatchSetResponse DeleteGeoMatchSet(DeleteGeoMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteGeoMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet /// if it's still used in any Rules or if it still includes any countries. /// /// /// /// If you just want to remove a GeoMatchSet from a Rule, use /// UpdateRule. /// /// /// /// To permanently delete a GeoMatchSet from AWS WAF, perform the following /// steps: /// ///
  1. /// /// Update the GeoMatchSet to remove any countries. For more information, /// see UpdateGeoMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteGeoMatchSet request. /// ///
  3. /// /// Submit a DeleteGeoMatchSet request. /// ///
///
/// Container for the necessary parameters to execute the DeleteGeoMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteGeoMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteGeoMatchSet Operation public virtual Task DeleteGeoMatchSetAsync(DeleteGeoMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteGeoMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes an IPSet. You can't delete an IPSet if it's /// still used in any Rules or if it still includes any IP addresses. /// /// /// /// If you just want to remove an IPSet from a Rule, use UpdateRule. /// /// /// /// To permanently delete an IPSet from AWS WAF, perform the following steps: /// ///
  1. /// /// Update the IPSet to remove IP address ranges, if any. For more information, /// see UpdateIPSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteIPSet request. /// ///
  3. /// /// Submit a DeleteIPSet request. /// ///
///
/// The IPSetId of the IPSet that you want to delete. IPSetId is returned by CreateIPSet and by ListIPSets. /// The value returned by the most recent call to GetChangeToken. /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteIPSet Operation public virtual Task DeleteIPSetAsync(string ipSetId, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new DeleteIPSetRequest(); request.IPSetId = ipSetId; request.ChangeToken = changeToken; return DeleteIPSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes an IPSet. You can't delete an IPSet if it's /// still used in any Rules or if it still includes any IP addresses. /// /// /// /// If you just want to remove an IPSet from a Rule, use UpdateRule. /// /// /// /// To permanently delete an IPSet from AWS WAF, perform the following steps: /// ///
  1. /// /// Update the IPSet to remove IP address ranges, if any. For more information, /// see UpdateIPSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteIPSet request. /// ///
  3. /// /// Submit a DeleteIPSet request. /// ///
///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes the LoggingConfiguration from the specified web ACL. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes an IAM policy from the specified RuleGroup. /// /// /// /// The user making the request must be the owner of the RuleGroup. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 DeleteRateBasedRule internal virtual DeleteRateBasedRuleResponse DeleteRateBasedRule(DeleteRateBasedRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRateBasedRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a RateBasedRule. You can't delete a rule if it's still /// used in any WebACL objects or if it still includes any predicates, such /// as ByteMatchSet objects. /// /// /// /// If you just want to remove a rule from a WebACL, use UpdateWebACL. /// /// /// /// To permanently delete a RateBasedRule from AWS WAF, perform the following /// steps: /// ///
  1. /// /// Update the RateBasedRule to remove predicates, if any. For more information, /// see UpdateRateBasedRule. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteRateBasedRule request. /// ///
  3. /// /// Submit a DeleteRateBasedRule request. /// ///
///
/// Container for the necessary parameters to execute the DeleteRateBasedRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRateBasedRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// REST API Reference for DeleteRateBasedRule Operation public virtual Task DeleteRateBasedRuleAsync(DeleteRateBasedRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRateBasedRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteRegexMatchSet internal virtual DeleteRegexMatchSetResponse DeleteRegexMatchSet(DeleteRegexMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRegexMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet /// if it's still used in any Rules or if it still includes any RegexMatchTuples /// objects (any filters). /// /// /// /// If you just want to remove a RegexMatchSet from a Rule, /// use UpdateRule. /// /// /// /// To permanently delete a RegexMatchSet, perform the following steps: /// ///
  1. /// /// Update the RegexMatchSet to remove filters, if any. For more information, /// see UpdateRegexMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteRegexMatchSet request. /// ///
  3. /// /// Submit a DeleteRegexMatchSet request. /// ///
///
/// Container for the necessary parameters to execute the DeleteRegexMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRegexMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteRegexMatchSet Operation public virtual Task DeleteRegexMatchSetAsync(DeleteRegexMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRegexMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet /// if it's still used in any RegexMatchSet or if the RegexPatternSet /// is not empty. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 DeleteRule internal virtual DeleteRuleResponse DeleteRule(DeleteRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a Rule. You can't delete a Rule if it's still /// used in any WebACL objects or if it still includes any predicates, such /// as ByteMatchSet objects. /// /// /// /// If you just want to remove a Rule from a WebACL, use UpdateWebACL. /// /// /// /// To permanently delete a Rule from AWS WAF, perform the following steps: /// ///
  1. /// /// Update the Rule to remove predicates, if any. For more information, see /// UpdateRule. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteRule request. /// ///
  3. /// /// Submit a DeleteRule request. /// ///
///
/// The RuleId of the Rule that you want to delete. RuleId is returned by CreateRule and by ListRules. /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// REST API Reference for DeleteRule Operation public virtual Task DeleteRuleAsync(string ruleId, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new DeleteRuleRequest(); request.RuleId = ruleId; request.ChangeToken = changeToken; return DeleteRuleAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a Rule. You can't delete a Rule if it's still /// used in any WebACL objects or if it still includes any predicates, such /// as ByteMatchSet objects. /// /// /// /// If you just want to remove a Rule from a WebACL, use UpdateWebACL. /// /// /// /// To permanently delete a Rule from AWS WAF, perform the following steps: /// ///
  1. /// /// Update the Rule to remove predicates, if any. For more information, see /// UpdateRule. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteRule request. /// ///
  3. /// /// Submit a DeleteRule request. /// ///
///
/// Container for the necessary parameters to execute the DeleteRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// REST API Reference for DeleteRule Operation public virtual Task DeleteRuleAsync(DeleteRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteRuleResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a RuleGroup. You can't delete a RuleGroup /// if it's still used in any WebACL objects or if it still includes any /// rules. /// /// /// /// If you just want to remove a RuleGroup from a WebACL, use /// UpdateWebACL. /// /// /// /// To permanently delete a RuleGroup from AWS WAF, perform the following /// steps: /// ///
  1. /// /// Update the RuleGroup to remove rules, if any. For more information, see /// UpdateRuleGroup. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteRuleGroup request. /// ///
  3. /// /// Submit a DeleteRuleGroup request. /// ///
///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// 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 DeleteSizeConstraintSet internal virtual DeleteSizeConstraintSetResponse DeleteSizeConstraintSet(DeleteSizeConstraintSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSizeConstraintSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet /// if it's still used in any Rules or if it still includes any SizeConstraint /// objects (any filters). /// /// /// /// If you just want to remove a SizeConstraintSet from a Rule, /// use UpdateRule. /// /// /// /// To permanently delete a SizeConstraintSet, perform the following steps: /// ///
  1. /// /// Update the SizeConstraintSet to remove filters, if any. For more information, /// see UpdateSizeConstraintSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteSizeConstraintSet request. /// ///
  3. /// /// Submit a DeleteSizeConstraintSet request. /// ///
///
/// Container for the necessary parameters to execute the DeleteSizeConstraintSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteSizeConstraintSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteSizeConstraintSet Operation public virtual Task DeleteSizeConstraintSetAsync(DeleteSizeConstraintSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSizeConstraintSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteSqlInjectionMatchSet internal virtual DeleteSqlInjectionMatchSetResponse DeleteSqlInjectionMatchSet(DeleteSqlInjectionMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSqlInjectionMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet /// if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple /// objects. /// /// /// /// If you just want to remove a SqlInjectionMatchSet from a Rule, /// use UpdateRule. /// /// /// /// To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the /// following steps: /// ///
  1. /// /// Update the SqlInjectionMatchSet to remove filters, if any. For more information, /// see UpdateSqlInjectionMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteSqlInjectionMatchSet request. /// ///
  3. /// /// Submit a DeleteSqlInjectionMatchSet request. /// ///
///
/// The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to delete. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteSqlInjectionMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteSqlInjectionMatchSet Operation public virtual Task DeleteSqlInjectionMatchSetAsync(string sqlInjectionMatchSetId, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new DeleteSqlInjectionMatchSetRequest(); request.SqlInjectionMatchSetId = sqlInjectionMatchSetId; request.ChangeToken = changeToken; return DeleteSqlInjectionMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet /// if it's still used in any Rules or if it still contains any SqlInjectionMatchTuple /// objects. /// /// /// /// If you just want to remove a SqlInjectionMatchSet from a Rule, /// use UpdateRule. /// /// /// /// To permanently delete a SqlInjectionMatchSet from AWS WAF, perform the /// following steps: /// ///
  1. /// /// Update the SqlInjectionMatchSet to remove filters, if any. For more information, /// see UpdateSqlInjectionMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteSqlInjectionMatchSet request. /// ///
  3. /// /// Submit a DeleteSqlInjectionMatchSet request. /// ///
///
/// Container for the necessary parameters to execute the DeleteSqlInjectionMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteSqlInjectionMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteSqlInjectionMatchSet Operation public virtual Task DeleteSqlInjectionMatchSetAsync(DeleteSqlInjectionMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteSqlInjectionMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a WebACL. You can't delete a WebACL if it /// still contains any Rules. /// /// /// /// To delete a WebACL, perform the following steps: /// ///
  1. /// /// Update the WebACL to remove Rules, if any. For more information, /// see UpdateWebACL. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteWebACL request. /// ///
  3. /// /// Submit a DeleteWebACL request. /// ///
///
/// The WebACLId of the WebACL that you want to delete. WebACLId is returned by CreateWebACL and by ListWebACLs. /// The value returned by the most recent call to GetChangeToken. /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// REST API Reference for DeleteWebACL Operation public virtual Task DeleteWebACLAsync(string webACLId, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new DeleteWebACLRequest(); request.WebACLId = webACLId; request.ChangeToken = changeToken; return DeleteWebACLAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes a WebACL. You can't delete a WebACL if it /// still contains any Rules. /// /// /// /// To delete a WebACL, perform the following steps: /// ///
  1. /// /// Update the WebACL to remove Rules, if any. For more information, /// see UpdateWebACL. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteWebACL request. /// ///
  3. /// /// Submit a DeleteWebACL request. /// ///
///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// /// /// /// /// /// 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 DeleteXssMatchSet internal virtual DeleteXssMatchSetResponse DeleteXssMatchSet(DeleteXssMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteXssMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Permanently deletes an XssMatchSet. You can't delete an XssMatchSet /// if it's still used in any Rules or if it still contains any XssMatchTuple /// objects. /// /// /// /// If you just want to remove an XssMatchSet from a Rule, use /// UpdateRule. /// /// /// /// To permanently delete an XssMatchSet from AWS WAF, perform the following /// steps: /// ///
  1. /// /// Update the XssMatchSet to remove filters, if any. For more information, /// see UpdateXssMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of a DeleteXssMatchSet request. /// ///
  3. /// /// Submit a DeleteXssMatchSet request. /// ///
///
/// Container for the necessary parameters to execute the DeleteXssMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteXssMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because you tried to delete an object that isn't empty. For example: /// ///
  • /// /// You tried to delete a WebACL that still contains one or more Rule /// objects. /// ///
  • /// /// You tried to delete a Rule that still contains one or more ByteMatchSet /// objects or other predicates. /// ///
  • /// /// You tried to delete a ByteMatchSet that contains one or more ByteMatchTuple /// objects. /// ///
  • /// /// You tried to delete an IPSet that references one or more IP addresses. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for DeleteXssMatchSet Operation public virtual Task DeleteXssMatchSetAsync(DeleteXssMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteXssMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetByteMatchSet internal virtual GetByteMatchSetResponse GetByteMatchSet(GetByteMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetByteMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the ByteMatchSet specified by ByteMatchSetId. /// /// /// The ByteMatchSetId of the ByteMatchSet that you want to get. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetByteMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetByteMatchSet Operation public virtual Task GetByteMatchSetAsync(string byteMatchSetId, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new GetByteMatchSetRequest(); request.ByteMatchSetId = byteMatchSetId; return GetByteMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the ByteMatchSet specified by ByteMatchSetId. /// /// /// Container for the necessary parameters to execute the GetByteMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetByteMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetByteMatchSet Operation public virtual Task GetByteMatchSetAsync(GetByteMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetByteMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetChangeToken internal virtual GetChangeTokenResponse GetChangeToken() { return GetChangeToken(new GetChangeTokenRequest()); } internal virtual GetChangeTokenResponse GetChangeToken(GetChangeTokenRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetChangeTokenRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChangeTokenResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// When you want to create, update, or delete AWS WAF objects, get a change token and /// include the change token in the create, update, or delete request. Change tokens ensure /// that your application doesn't submit conflicting requests to AWS WAF. /// /// /// /// Each create, update, or delete request must use a unique change token. If your application /// submits a GetChangeToken request and then submits a second GetChangeToken /// request before submitting a create, update, or delete request, the second GetChangeToken /// request returns the same value as the first GetChangeToken request. /// /// /// /// When you use a change token in a create, update, or delete request, the status of /// the change token changes to PENDING, which indicates that AWS WAF is /// propagating the change to all AWS WAF servers. Use GetChangeTokenStatus /// to determine the status of your change token. /// /// /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetChangeToken service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// REST API Reference for GetChangeToken Operation public virtual Task GetChangeTokenAsync(System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { return GetChangeTokenAsync(new GetChangeTokenRequest(), cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// When you want to create, update, or delete AWS WAF objects, get a change token and /// include the change token in the create, update, or delete request. Change tokens ensure /// that your application doesn't submit conflicting requests to AWS WAF. /// /// /// /// Each create, update, or delete request must use a unique change token. If your application /// submits a GetChangeToken request and then submits a second GetChangeToken /// request before submitting a create, update, or delete request, the second GetChangeToken /// request returns the same value as the first GetChangeToken request. /// /// /// /// When you use a change token in a create, update, or delete request, the status of /// the change token changes to PENDING, which indicates that AWS WAF is /// propagating the change to all AWS WAF servers. Use GetChangeTokenStatus /// to determine the status of your change token. /// /// /// Container for the necessary parameters to execute the GetChangeToken service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetChangeToken service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// REST API Reference for GetChangeToken Operation public virtual Task GetChangeTokenAsync(GetChangeTokenRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetChangeTokenRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChangeTokenResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetChangeTokenStatus internal virtual GetChangeTokenStatusResponse GetChangeTokenStatus(GetChangeTokenStatusRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetChangeTokenStatusRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChangeTokenStatusResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the status of a ChangeToken that you got by calling GetChangeToken. /// ChangeTokenStatus is one of the following values: /// ///
  • /// /// PROVISIONED: You requested the change token by calling GetChangeToken, /// but you haven't used it yet in a call to create, update, or delete an AWS WAF object. /// ///
  • /// /// PENDING: AWS WAF is propagating the create, update, or delete request /// to all AWS WAF servers. /// ///
  • /// /// INSYNC: Propagation is complete. /// ///
///
/// The change token for which you want to get the status. This change token was previously returned in the GetChangeToken response. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetChangeTokenStatus service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetChangeTokenStatus Operation public virtual Task GetChangeTokenStatusAsync(string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new GetChangeTokenStatusRequest(); request.ChangeToken = changeToken; return GetChangeTokenStatusAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the status of a ChangeToken that you got by calling GetChangeToken. /// ChangeTokenStatus is one of the following values: /// ///
  • /// /// PROVISIONED: You requested the change token by calling GetChangeToken, /// but you haven't used it yet in a call to create, update, or delete an AWS WAF object. /// ///
  • /// /// PENDING: AWS WAF is propagating the create, update, or delete request /// to all AWS WAF servers. /// ///
  • /// /// INSYNC: Propagation is complete. /// ///
///
/// Container for the necessary parameters to execute the GetChangeTokenStatus service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetChangeTokenStatus service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetChangeTokenStatus Operation public virtual Task GetChangeTokenStatusAsync(GetChangeTokenStatusRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetChangeTokenStatusRequestMarshaller.Instance; options.ResponseUnmarshaller = GetChangeTokenStatusResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetGeoMatchSet internal virtual GetGeoMatchSetResponse GetGeoMatchSet(GetGeoMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetGeoMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the GeoMatchSet that is specified by GeoMatchSetId. /// /// /// Container for the necessary parameters to execute the GetGeoMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetGeoMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetGeoMatchSet Operation public virtual Task GetGeoMatchSetAsync(GetGeoMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetGeoMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the IPSet that is specified by IPSetId. /// /// /// The IPSetId of the IPSet that you want to get. IPSetId is returned by CreateIPSet and by ListIPSets. /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetIPSet Operation public virtual Task GetIPSetAsync(string ipSetId, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new GetIPSetRequest(); request.IPSetId = ipSetId; return GetIPSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the IPSet that is specified by IPSetId. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the LoggingConfiguration for the specified web ACL. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// 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 GetPermissionPolicy internal virtual GetPermissionPolicyResponse GetPermissionPolicy(GetPermissionPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetPermissionPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = GetPermissionPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the IAM policy attached to the RuleGroup. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// 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 GetRateBasedRule internal virtual GetRateBasedRuleResponse GetRateBasedRule(GetRateBasedRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRateBasedRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the RateBasedRule that is specified by the RuleId that /// you included in the GetRateBasedRule request. /// /// /// Container for the necessary parameters to execute the GetRateBasedRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRateBasedRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetRateBasedRule Operation public virtual Task GetRateBasedRuleAsync(GetRateBasedRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRateBasedRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetRateBasedRuleManagedKeys internal virtual GetRateBasedRuleManagedKeysResponse GetRateBasedRuleManagedKeys(GetRateBasedRuleManagedKeysRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRateBasedRuleManagedKeysRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRateBasedRuleManagedKeysResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of IP addresses currently being blocked by the RateBasedRule /// that is specified by the RuleId. The maximum number of managed keys that /// will be blocked is 10,000. If more than 10,000 addresses exceed the rate limit, the /// 10,000 addresses with the highest rates will be blocked. /// /// /// Container for the necessary parameters to execute the GetRateBasedRuleManagedKeys service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRateBasedRuleManagedKeys service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetRateBasedRuleManagedKeys Operation public virtual Task GetRateBasedRuleManagedKeysAsync(GetRateBasedRuleManagedKeysRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRateBasedRuleManagedKeysRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRateBasedRuleManagedKeysResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetRegexMatchSet internal virtual GetRegexMatchSetResponse GetRegexMatchSet(GetRegexMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRegexMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the RegexMatchSet specified by RegexMatchSetId. /// /// /// Container for the necessary parameters to execute the GetRegexMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRegexMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetRegexMatchSet Operation public virtual Task GetRegexMatchSetAsync(GetRegexMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRegexMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the RegexPatternSet specified by RegexPatternSetId. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// 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 GetRule internal virtual GetRuleResponse GetRule(GetRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the Rule that is specified by the RuleId that you included /// in the GetRule request. /// /// /// The RuleId of the Rule that you want to get. RuleId is returned by CreateRule and by ListRules. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetRule Operation public virtual Task GetRuleAsync(string ruleId, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new GetRuleRequest(); request.RuleId = ruleId; return GetRuleAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the Rule that is specified by the RuleId that you included /// in the GetRule request. /// /// /// Container for the necessary parameters to execute the GetRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetRule Operation public virtual Task GetRuleAsync(GetRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = GetRuleResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the RuleGroup that is specified by the RuleGroupId that /// you included in the GetRuleGroup request. /// /// /// /// To view the rules in a rule group, use ListActivatedRulesInRuleGroup. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Gets detailed information about a specified number of requests--a sample--that AWS /// WAF randomly selects from among the first 5,000 requests that your AWS resource received /// during a time range that you choose. You can specify a sample size of up to 500 requests, /// and you can specify any time range in the previous three hours. /// /// /// /// GetSampledRequests returns a time range, which is usually the time range /// that you specified. However, if your resource (such as a CloudFront distribution) /// received 5,000 requests before the specified time range elapsed, GetSampledRequests /// returns an updated time range. This new time range indicates the actual period during /// which AWS WAF selected the requests in the sample. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// 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 GetSizeConstraintSet internal virtual GetSizeConstraintSetResponse GetSizeConstraintSet(GetSizeConstraintSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSizeConstraintSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the SizeConstraintSet specified by SizeConstraintSetId. /// /// /// Container for the necessary parameters to execute the GetSizeConstraintSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetSizeConstraintSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetSizeConstraintSet Operation public virtual Task GetSizeConstraintSetAsync(GetSizeConstraintSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSizeConstraintSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region GetSqlInjectionMatchSet internal virtual GetSqlInjectionMatchSetResponse GetSqlInjectionMatchSet(GetSqlInjectionMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSqlInjectionMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId. /// /// /// The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to get. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetSqlInjectionMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetSqlInjectionMatchSet Operation public virtual Task GetSqlInjectionMatchSetAsync(string sqlInjectionMatchSetId, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new GetSqlInjectionMatchSetRequest(); request.SqlInjectionMatchSetId = sqlInjectionMatchSetId; return GetSqlInjectionMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId. /// /// /// Container for the necessary parameters to execute the GetSqlInjectionMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetSqlInjectionMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetSqlInjectionMatchSet Operation public virtual Task GetSqlInjectionMatchSetAsync(GetSqlInjectionMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetSqlInjectionMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the WebACL that is specified by WebACLId. /// /// /// The WebACLId of the WebACL that you want to get. WebACLId is returned by CreateWebACL and by ListWebACLs. /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetWebACL Operation public virtual Task GetWebACLAsync(string webACLId, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new GetWebACLRequest(); request.WebACLId = webACLId; return GetWebACLAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the WebACL that is specified by WebACLId. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// 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 GetXssMatchSet internal virtual GetXssMatchSetResponse GetXssMatchSet(GetXssMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = GetXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetXssMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns the XssMatchSet that is specified by XssMatchSetId. /// /// /// Container for the necessary parameters to execute the GetXssMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the GetXssMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for GetXssMatchSet Operation public virtual Task GetXssMatchSetAsync(GetXssMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = GetXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = GetXssMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListActivatedRulesInRuleGroup internal virtual ListActivatedRulesInRuleGroupResponse ListActivatedRulesInRuleGroup(ListActivatedRulesInRuleGroupRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListActivatedRulesInRuleGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = ListActivatedRulesInRuleGroupResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of ActivatedRule objects. /// /// /// Container for the necessary parameters to execute the ListActivatedRulesInRuleGroup service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListActivatedRulesInRuleGroup service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for ListActivatedRulesInRuleGroup Operation public virtual Task ListActivatedRulesInRuleGroupAsync(ListActivatedRulesInRuleGroupRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListActivatedRulesInRuleGroupRequestMarshaller.Instance; options.ResponseUnmarshaller = ListActivatedRulesInRuleGroupResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListByteMatchSets internal virtual ListByteMatchSetsResponse ListByteMatchSets(ListByteMatchSetsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListByteMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListByteMatchSetsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of ByteMatchSetSummary objects. /// /// /// Container for the necessary parameters to execute the ListByteMatchSets service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListByteMatchSets service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListByteMatchSets Operation public virtual Task ListByteMatchSetsAsync(ListByteMatchSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListByteMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListByteMatchSetsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListGeoMatchSets internal virtual ListGeoMatchSetsResponse ListGeoMatchSets(ListGeoMatchSetsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListGeoMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListGeoMatchSetsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of GeoMatchSetSummary objects in the response. /// /// /// Container for the necessary parameters to execute the ListGeoMatchSets service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListGeoMatchSets service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListGeoMatchSets Operation public virtual Task ListGeoMatchSetsAsync(ListGeoMatchSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListGeoMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListGeoMatchSetsResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of IPSetSummary objects in the response. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of LoggingConfiguration objects. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// 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 ListRateBasedRules internal virtual ListRateBasedRulesResponse ListRateBasedRules(ListRateBasedRulesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListRateBasedRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRateBasedRulesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of RuleSummary objects. /// /// /// Container for the necessary parameters to execute the ListRateBasedRules service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListRateBasedRules service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListRateBasedRules Operation public virtual Task ListRateBasedRulesAsync(ListRateBasedRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListRateBasedRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRateBasedRulesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListRegexMatchSets internal virtual ListRegexMatchSetsResponse ListRegexMatchSets(ListRegexMatchSetsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListRegexMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRegexMatchSetsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of RegexMatchSetSummary objects. /// /// /// Container for the necessary parameters to execute the ListRegexMatchSets service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListRegexMatchSets service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListRegexMatchSets Operation public virtual Task ListRegexMatchSetsAsync(ListRegexMatchSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListRegexMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRegexMatchSetsResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of RegexPatternSetSummary objects. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// 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 ListRuleGroups internal virtual ListRuleGroupsResponse ListRuleGroups(ListRuleGroupsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListRuleGroupsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRuleGroupsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of RuleGroup objects. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// 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 ListRules internal virtual ListRulesResponse ListRules(ListRulesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRulesResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of RuleSummary objects. /// /// /// Container for the necessary parameters to execute the ListRules service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListRules service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListRules Operation public virtual Task ListRulesAsync(ListRulesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListRulesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListRulesResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListSizeConstraintSets internal virtual ListSizeConstraintSetsResponse ListSizeConstraintSets(ListSizeConstraintSetsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSizeConstraintSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSizeConstraintSetsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of SizeConstraintSetSummary objects. /// /// /// Container for the necessary parameters to execute the ListSizeConstraintSets service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListSizeConstraintSets service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListSizeConstraintSets Operation public virtual Task ListSizeConstraintSetsAsync(ListSizeConstraintSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListSizeConstraintSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSizeConstraintSetsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListSqlInjectionMatchSets internal virtual ListSqlInjectionMatchSetsResponse ListSqlInjectionMatchSets(ListSqlInjectionMatchSetsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSqlInjectionMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSqlInjectionMatchSetsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of SqlInjectionMatchSet objects. /// /// /// Container for the necessary parameters to execute the ListSqlInjectionMatchSets service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListSqlInjectionMatchSets service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListSqlInjectionMatchSets Operation public virtual Task ListSqlInjectionMatchSetsAsync(ListSqlInjectionMatchSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListSqlInjectionMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSqlInjectionMatchSetsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListSubscribedRuleGroups internal virtual ListSubscribedRuleGroupsResponse ListSubscribedRuleGroups(ListSubscribedRuleGroupsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubscribedRuleGroupsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubscribedRuleGroupsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of RuleGroup objects that you are subscribed to. /// /// /// Container for the necessary parameters to execute the ListSubscribedRuleGroups service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListSubscribedRuleGroups service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// REST API Reference for ListSubscribedRuleGroups Operation public virtual Task ListSubscribedRuleGroupsAsync(ListSubscribedRuleGroupsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListSubscribedRuleGroupsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListSubscribedRuleGroupsResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Retrieves the tags associated with the specified AWS resource. Tags are key:value /// pairs that you can use to categorize and manage your resources, for purposes like /// billing. For example, you might set the tag key to "customer" and the value to the /// customer name or ID. You can specify one or more tags to add to each AWS resource, /// up to 50 tags for a resource. /// /// /// /// Tagging is only available through the API, SDKs, and CLI. You can't manage or view /// tags through the AWS WAF Classic console. You can tag the AWS resources that you manage /// through AWS WAF Classic: web ACLs, rule groups, and rules. /// /// /// 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 WAF. /// /// /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// /// /// /// /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of WebACLSummary objects in the response. /// /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// 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 ListXssMatchSets internal virtual ListXssMatchSetsResponse ListXssMatchSets(ListXssMatchSetsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListXssMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListXssMatchSetsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Returns an array of XssMatchSet objects. /// /// /// Container for the necessary parameters to execute the ListXssMatchSets service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListXssMatchSets service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// REST API Reference for ListXssMatchSets Operation public virtual Task ListXssMatchSetsAsync(ListXssMatchSetsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListXssMatchSetsRequestMarshaller.Instance; options.ResponseUnmarshaller = ListXssMatchSetsResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Associates a LoggingConfiguration with a specified web ACL. /// /// /// /// You can access information about all traffic that AWS WAF inspects using the following /// steps: /// ///
  1. /// /// Create an Amazon Kinesis Data Firehose. /// /// /// /// Create the data firehose with a PUT source and in the region that you are operating. /// However, if you are capturing logs for Amazon CloudFront, always create the firehose /// in US East (N. Virginia). /// /// /// /// Do not create the data firehose using a Kinesis stream as your source. /// ///
  2. /// /// Associate that firehose to your web ACL using a PutLoggingConfiguration /// request. /// ///
/// /// When you successfully enable logging using a PutLoggingConfiguration /// request, AWS WAF will create a service linked role with the necessary permissions /// to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging /// Web ACL Traffic Information in the AWS WAF Developer Guide. /// ///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the referenced object doesn't exist. /// /// /// AWS WAF is not able to access the service linked role. This can be caused by a previous /// PutLoggingConfiguration request, which can lock the service linked role /// for about 20 seconds. Please try your request again. The service linked role can also /// be locked by a previous DeleteServiceLinkedRole request, which can lock /// the role for 15 minutes or more. If you recently made a DeleteServiceLinkedRole, /// wait at least 15 minutes and try the request again. If you receive this same exception /// again, you will have to wait additional time until the role is unlocked. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 PutPermissionPolicy internal virtual PutPermissionPolicyResponse PutPermissionPolicy(PutPermissionPolicyRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = PutPermissionPolicyRequestMarshaller.Instance; options.ResponseUnmarshaller = PutPermissionPolicyResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Attaches an IAM policy to the specified resource. The only supported use for this /// action is to share a RuleGroup across accounts. /// /// /// /// The PutPermissionPolicy is subject to the following restrictions: /// ///
  • /// /// You can attach only one policy with each PutPermissionPolicy request. /// ///
  • /// /// The policy must include an Effect, Action and Principal. /// /// ///
  • /// /// Effect must specify Allow. /// ///
  • /// /// The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, /// waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra /// or wildcard actions in the policy will be rejected. /// ///
  • /// /// The policy cannot include a Resource parameter. /// ///
  • /// /// The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist /// in the same region. /// ///
  • /// /// The user making the request must be the owner of the RuleGroup. /// ///
  • /// /// Your policy must be composed using IAM Policy version 2012-10-17. /// ///
/// /// For more information, see IAM /// Policies. /// /// /// /// An example of a valid policy parameter is shown in the Examples section below. /// ///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because the specified policy is not in the proper format. /// /// /// /// The policy is subject to the following restrictions: /// ///
  • /// /// You can attach only one policy with each PutPermissionPolicy request. /// ///
  • /// /// The policy must include an Effect, Action and Principal. /// /// ///
  • /// /// Effect must specify Allow. /// ///
  • /// /// The Action in the policy must be waf:UpdateWebACL, waf-regional:UpdateWebACL, /// waf:GetRuleGroup and waf-regional:GetRuleGroup . Any extra /// or wildcard actions in the policy will be rejected. /// ///
  • /// /// The policy cannot include a Resource parameter. /// ///
  • /// /// The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist /// in the same region. /// ///
  • /// /// The user making the request must be the owner of the RuleGroup. /// ///
  • /// /// Your policy must be composed using IAM Policy version 2012-10-17. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Associates tags with the specified AWS resource. Tags are key:value pairs that you /// can use to categorize and manage your resources, for purposes like billing. For example, /// you might set the tag key to "customer" and the value to the customer name or ID. /// You can specify one or more tags to add to each AWS resource, up to 50 tags for a /// resource. /// /// /// /// Tagging is only available through the API, SDKs, and CLI. You can't manage or view /// tags through the AWS WAF Classic console. You can use this action to tag the AWS resources /// that you manage through AWS WAF Classic: web ACLs, rule groups, and rules. /// /// /// 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 WAF. /// /// /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because the referenced object doesn't exist. /// /// /// /// /// /// /// /// 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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// 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 WAF. /// /// /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// /// /// /// /// /// 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 UpdateByteMatchSet internal virtual UpdateByteMatchSetResponse UpdateByteMatchSet(UpdateByteMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateByteMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. /// For each ByteMatchTuple object, you specify the following values: /// ///
  • /// /// Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate /// object, you delete the existing object and add a new one. /// ///
  • /// /// The part of a web request that you want AWS WAF to inspect, such as a query string /// or the value of the User-Agent header. /// ///
  • /// /// The bytes (typically a string that corresponds with ASCII characters) that you want /// AWS WAF to look for. For more information, including how you specify the values for /// the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple /// data type. /// ///
  • /// /// Where to look, such as at the beginning or the end of a query string. /// ///
  • /// /// Whether to perform any conversions on the request, such as converting it to lowercase, /// before inspecting it for the specified string. /// ///
/// /// For example, you can add a ByteMatchSetUpdate object that matches web /// requests in which User-Agent headers contain the string BadBot. /// You can then configure AWS WAF to block those requests. /// /// /// /// To create and configure a ByteMatchSet, perform the following steps: /// ///
  1. /// /// Create a ByteMatchSet. For more information, see CreateByteMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateByteMatchSet request. /// ///
  3. /// /// Submit an UpdateByteMatchSet request to specify the part of the request /// that you want AWS WAF to inspect (for example, the header or the URI) and the value /// that you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// The ByteMatchSetId of the ByteMatchSet that you want to update. ByteMatchSetId is returned by CreateByteMatchSet and by ListByteMatchSets. /// An array of ByteMatchSetUpdate objects that you want to insert into or delete from a ByteMatchSet. For more information, see the applicable data types: /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateByteMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateByteMatchSet Operation public virtual Task UpdateByteMatchSetAsync(string byteMatchSetId, List updates, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new UpdateByteMatchSetRequest(); request.ByteMatchSetId = byteMatchSetId; request.Updates = updates; request.ChangeToken = changeToken; return UpdateByteMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. /// For each ByteMatchTuple object, you specify the following values: /// ///
  • /// /// Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate /// object, you delete the existing object and add a new one. /// ///
  • /// /// The part of a web request that you want AWS WAF to inspect, such as a query string /// or the value of the User-Agent header. /// ///
  • /// /// The bytes (typically a string that corresponds with ASCII characters) that you want /// AWS WAF to look for. For more information, including how you specify the values for /// the AWS WAF API and the AWS CLI or SDKs, see TargetString in the ByteMatchTuple /// data type. /// ///
  • /// /// Where to look, such as at the beginning or the end of a query string. /// ///
  • /// /// Whether to perform any conversions on the request, such as converting it to lowercase, /// before inspecting it for the specified string. /// ///
/// /// For example, you can add a ByteMatchSetUpdate object that matches web /// requests in which User-Agent headers contain the string BadBot. /// You can then configure AWS WAF to block those requests. /// /// /// /// To create and configure a ByteMatchSet, perform the following steps: /// ///
  1. /// /// Create a ByteMatchSet. For more information, see CreateByteMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateByteMatchSet request. /// ///
  3. /// /// Submit an UpdateByteMatchSet request to specify the part of the request /// that you want AWS WAF to inspect (for example, the header or the URI) and the value /// that you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the UpdateByteMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateByteMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateByteMatchSet Operation public virtual Task UpdateByteMatchSetAsync(UpdateByteMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateByteMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateByteMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateGeoMatchSet internal virtual UpdateGeoMatchSetResponse UpdateGeoMatchSet(UpdateGeoMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateGeoMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet. /// For each GeoMatchConstraint object, you specify the following values: /// /// ///
  • /// /// Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint /// object, you delete the existing object and add a new one. /// ///
  • /// /// The Type. The only valid value for Type is Country. /// ///
  • /// /// The Value, which is a two character code for the country to add to the /// GeoMatchConstraint object. Valid codes are listed in GeoMatchConstraint$Value. /// ///
/// /// To create and configure an GeoMatchSet, perform the following steps: /// ///
  1. /// /// Submit a CreateGeoMatchSet request. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateGeoMatchSet request. /// ///
  3. /// /// Submit an UpdateGeoMatchSet request to specify the country that you want /// AWS WAF to watch for. /// ///
/// /// When you update an GeoMatchSet, you specify the country that you want /// to add and/or the country that you want to delete. If you want to change a country, /// you delete the existing country and add the new one. /// /// /// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the UpdateGeoMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateGeoMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateGeoMatchSet Operation public virtual Task UpdateGeoMatchSetAsync(UpdateGeoMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateGeoMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateGeoMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes IPSetDescriptor objects in an IPSet. For each /// IPSetDescriptor object, you specify the following values: /// ///
  • /// /// Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor /// object, you delete the existing object and add a new one. /// ///
  • /// /// The IP address version, IPv4 or IPv6. /// ///
  • /// /// The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range /// of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 /// (for the individual IP address 192.0.2.44). /// ///
/// /// AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS /// WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information /// about CIDR notation, see the Wikipedia entry Classless /// Inter-Domain Routing. /// /// /// /// IPv6 addresses can be represented using any of the following formats: /// ///
  • /// /// 1111:0000:0000:0000:0000:0000:0000:0111/128 /// ///
  • /// /// 1111:0:0:0:0:0:0:0111/128 /// ///
  • /// /// 1111::0111/128 /// ///
  • /// /// 1111::111/128 /// ///
/// /// You use an IPSet to specify which web requests you want to allow or block /// based on the IP addresses that the requests originated from. For example, if you're /// receiving a lot of requests from one or a small number of IP addresses and you want /// to block the requests, you can create an IPSet that specifies those IP /// addresses, and then configure AWS WAF to block the requests. /// /// /// /// To create and configure an IPSet, perform the following steps: /// ///
  1. /// /// Submit a CreateIPSet request. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateIPSet request. /// ///
  3. /// /// Submit an UpdateIPSet request to specify the IP addresses that you want /// AWS WAF to watch for. /// ///
/// /// When you update an IPSet, you specify the IP addresses that you want /// to add and/or the IP addresses that you want to delete. If you want to change an IP /// address, you delete the existing IP address and add the new one. /// /// /// /// You can insert a maximum of 1000 addresses in a single request. /// /// /// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// The IPSetId of the IPSet that you want to update. IPSetId is returned by CreateIPSet and by ListIPSets. /// An array of IPSetUpdate objects that you want to insert into or delete from an IPSet. For more information, see the applicable data types: You can insert a maximum of 1000 addresses in a single request. /// The value returned by the most recent call to GetChangeToken. /// /// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateIPSet Operation public virtual Task UpdateIPSetAsync(string ipSetId, List updates, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new UpdateIPSetRequest(); request.IPSetId = ipSetId; request.Updates = updates; request.ChangeToken = changeToken; return UpdateIPSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes IPSetDescriptor objects in an IPSet. For each /// IPSetDescriptor object, you specify the following values: /// ///
  • /// /// Whether to insert or delete the object from the array. If you want to change an IPSetDescriptor /// object, you delete the existing object and add a new one. /// ///
  • /// /// The IP address version, IPv4 or IPv6. /// ///
  • /// /// The IP address in CIDR notation, for example, 192.0.2.0/24 (for the range /// of IP addresses from 192.0.2.0 to 192.0.2.255) or 192.0.2.44/32 /// (for the individual IP address 192.0.2.44). /// ///
/// /// AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS /// WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more information /// about CIDR notation, see the Wikipedia entry Classless /// Inter-Domain Routing. /// /// /// /// IPv6 addresses can be represented using any of the following formats: /// ///
  • /// /// 1111:0000:0000:0000:0000:0000:0000:0111/128 /// ///
  • /// /// 1111:0:0:0:0:0:0:0111/128 /// ///
  • /// /// 1111::0111/128 /// ///
  • /// /// 1111::111/128 /// ///
/// /// You use an IPSet to specify which web requests you want to allow or block /// based on the IP addresses that the requests originated from. For example, if you're /// receiving a lot of requests from one or a small number of IP addresses and you want /// to block the requests, you can create an IPSet that specifies those IP /// addresses, and then configure AWS WAF to block the requests. /// /// /// /// To create and configure an IPSet, perform the following steps: /// ///
  1. /// /// Submit a CreateIPSet request. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateIPSet request. /// ///
  3. /// /// Submit an UpdateIPSet request to specify the IP addresses that you want /// AWS WAF to watch for. /// ///
/// /// When you update an IPSet, you specify the IP addresses that you want /// to add and/or the IP addresses that you want to delete. If you want to change an IP /// address, you delete the existing IP address and add the new one. /// /// /// /// You can insert a maximum of 1000 addresses in a single request. /// /// /// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 UpdateRateBasedRule internal virtual UpdateRateBasedRuleResponse UpdateRateBasedRule(UpdateRateBasedRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRateBasedRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes Predicate objects in a rule and updates the RateLimit /// in the rule. /// /// /// /// Each Predicate object identifies a predicate, such as a ByteMatchSet /// or an IPSet, that specifies the web requests that you want to block or count. /// The RateLimit specifies the number of requests every five minutes that /// triggers the rule. /// /// /// /// If you add more than one predicate to a RateBasedRule, a request must /// match all the predicates and exceed the RateLimit to be counted or blocked. /// For example, suppose you add the following to a RateBasedRule: /// ///
  • /// /// An IPSet that matches the IP address 192.0.2.44/32 /// ///
  • /// /// A ByteMatchSet that matches BadBot in the User-Agent /// header /// ///
/// /// Further, you specify a RateLimit of 1,000. /// /// /// /// You then add the RateBasedRule to a WebACL and specify that /// you want to block requests that satisfy the rule. For a request to be blocked, it /// must come from the IP address 192.0.2.44 and the User-Agent header /// in the request must contain the value BadBot. Further, requests that /// match these two conditions much be received at a rate of more than 1,000 every five /// minutes. If the rate drops below this limit, AWS WAF no longer blocks the requests. /// /// /// /// As a second example, suppose you want to limit requests to a particular page on your /// site. To do this, you could add the following to a RateBasedRule: /// ///
  • /// /// A ByteMatchSet with FieldToMatch of URI /// ///
  • /// /// A PositionalConstraint of STARTS_WITH /// ///
  • /// /// A TargetString of login /// ///
/// /// Further, you specify a RateLimit of 1,000. /// /// /// /// By adding this RateBasedRule to a WebACL, you could limit /// requests to your login page without affecting the rest of your site. /// ///
/// Container for the necessary parameters to execute the UpdateRateBasedRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateRateBasedRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateRateBasedRule Operation public virtual Task UpdateRateBasedRuleAsync(UpdateRateBasedRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRateBasedRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRateBasedRuleResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateRegexMatchSet internal virtual UpdateRegexMatchSetResponse UpdateRegexMatchSet(UpdateRegexMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRegexMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. /// For each RegexMatchSetUpdate object, you specify the following values: /// /// ///
  • /// /// Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate /// object, you delete the existing object and add a new one. /// ///
  • /// /// The part of a web request that you want AWS WAF to inspectupdate, such as a query /// string or the value of the User-Agent header. /// ///
  • /// /// The identifier of the pattern (a regular expression) that you want AWS WAF to look /// for. For more information, see RegexPatternSet. /// ///
  • /// /// Whether to perform any conversions on the request, such as converting it to lowercase, /// before inspecting it for the specified string. /// ///
/// /// For example, you can create a RegexPatternSet that matches any requests /// with User-Agent headers that contain the string B[a@]dB[o0]t. /// You can then configure AWS WAF to reject those requests. /// /// /// /// To create and configure a RegexMatchSet, perform the following steps: /// ///
  1. /// /// Create a RegexMatchSet. For more information, see CreateRegexMatchSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRegexMatchSet request. /// ///
  3. /// /// Submit an UpdateRegexMatchSet request to specify the part of the request /// that you want AWS WAF to inspect (for example, the header or the URI) and the identifier /// of the RegexPatternSet that contain the regular expression patters you /// want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the UpdateRegexMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateRegexMatchSet service method, as returned by WAF. /// /// The name specified is invalid. /// /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateRegexMatchSet Operation public virtual Task UpdateRegexMatchSetAsync(UpdateRegexMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRegexMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRegexMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes RegexPatternString objects in a RegexPatternSet. /// For each RegexPatternString object, you specify the following values: /// /// ///
  • /// /// Whether to insert or delete the RegexPatternString. /// ///
  • /// /// The regular expression pattern that you want to insert or delete. For more information, /// see RegexPatternSet. /// ///
/// /// For example, you can create a RegexPatternString such as B[a@]dB[o0]t. /// AWS WAF will match this RegexPatternString to: /// ///
  • /// /// BadBot /// ///
  • /// /// BadB0t /// ///
  • /// /// B@dBot /// ///
  • /// /// B@dB0t /// ///
/// /// To create and configure a RegexPatternSet, perform the following steps: /// ///
  1. /// /// Create a RegexPatternSet. For more information, see CreateRegexPatternSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRegexPatternSet request. /// ///
  3. /// /// Submit an UpdateRegexPatternSet request to specify the regular expression /// pattern that you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The regular expression (regex) you specified in RegexPatternString is /// invalid. /// /// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 UpdateRule internal virtual UpdateRuleResponse UpdateRule(UpdateRuleRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRuleResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes Predicate objects in a Rule. Each Predicate /// object identifies a predicate, such as a ByteMatchSet or an IPSet, that /// specifies the web requests that you want to allow, block, or count. If you add more /// than one predicate to a Rule, a request must match all of the specifications /// to be allowed, blocked, or counted. For example, suppose that you add the following /// to a Rule: /// ///
  • /// /// A ByteMatchSet that matches the value BadBot in the User-Agent /// header /// ///
  • /// /// An IPSet that matches the IP address 192.0.2.44 /// ///
/// /// You then add the Rule to a WebACL and specify that you want /// to block requests that satisfy the Rule. For a request to be blocked, /// the User-Agent header in the request must contain the value BadBot /// and the request must originate from the IP address 192.0.2.44. /// /// /// /// To create and configure a Rule, perform the following steps: /// ///
  1. /// /// Create and update the predicates that you want to include in the Rule. /// ///
  2. /// /// Create the Rule. See CreateRule. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRule request. /// ///
  4. /// /// Submit an UpdateRule request to add predicates to the Rule. /// ///
  5. /// /// Create and update a WebACL that contains the Rule. See CreateWebACL. /// ///
/// /// If you want to replace one ByteMatchSet or IPSet with another, /// you delete the existing one and add the new one. /// /// /// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// The RuleId of the Rule that you want to update. RuleId is returned by CreateRule and by ListRules. /// An array of RuleUpdate objects that you want to insert into or delete from a Rule. For more information, see the applicable data types: /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateRule Operation public virtual Task UpdateRuleAsync(string ruleId, List updates, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new UpdateRuleRequest(); request.RuleId = ruleId; request.Updates = updates; request.ChangeToken = changeToken; return UpdateRuleAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes Predicate objects in a Rule. Each Predicate /// object identifies a predicate, such as a ByteMatchSet or an IPSet, that /// specifies the web requests that you want to allow, block, or count. If you add more /// than one predicate to a Rule, a request must match all of the specifications /// to be allowed, blocked, or counted. For example, suppose that you add the following /// to a Rule: /// ///
  • /// /// A ByteMatchSet that matches the value BadBot in the User-Agent /// header /// ///
  • /// /// An IPSet that matches the IP address 192.0.2.44 /// ///
/// /// You then add the Rule to a WebACL and specify that you want /// to block requests that satisfy the Rule. For a request to be blocked, /// the User-Agent header in the request must contain the value BadBot /// and the request must originate from the IP address 192.0.2.44. /// /// /// /// To create and configure a Rule, perform the following steps: /// ///
  1. /// /// Create and update the predicates that you want to include in the Rule. /// ///
  2. /// /// Create the Rule. See CreateRule. /// ///
  3. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRule request. /// ///
  4. /// /// Submit an UpdateRule request to add predicates to the Rule. /// ///
  5. /// /// Create and update a WebACL that contains the Rule. See CreateWebACL. /// ///
/// /// If you want to replace one ByteMatchSet or IPSet with another, /// you delete the existing one and add the new one. /// /// /// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the UpdateRule service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateRule service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateRule Operation public virtual Task UpdateRuleAsync(UpdateRuleRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateRuleRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateRuleResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes ActivatedRule objects in a RuleGroup. /// /// /// /// You can only insert REGULAR rules into a rule group. /// /// /// /// You can have a maximum of ten rules per rule group. /// /// /// /// To create and configure a RuleGroup, perform the following steps: /// ///
  1. /// /// Create and update the Rules that you want to include in the RuleGroup. /// See CreateRule. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateRuleGroup request. /// ///
  3. /// /// Submit an UpdateRuleGroup request to add Rules to the RuleGroup. /// ///
  4. /// /// Create and update a WebACL that contains the RuleGroup. /// See CreateWebACL. /// ///
/// /// If you want to replace one Rule with another, you delete the existing /// one and add the new one. /// /// /// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// 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 UpdateSizeConstraintSet internal virtual UpdateSizeConstraintSetResponse UpdateSizeConstraintSet(UpdateSizeConstraintSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSizeConstraintSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. /// For each SizeConstraint object, you specify the following values: /// ///
  • /// /// Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate /// object, you delete the existing object and add a new one. /// ///
  • /// /// The part of a web request that you want AWS WAF to evaluate, such as the length of /// a query string or the length of the User-Agent header. /// ///
  • /// /// Whether to perform any transformations on the request, such as converting it to lowercase, /// before checking its length. Note that transformations of the request body are not /// supported because the AWS resource forwards only the first 8192 bytes /// of your request to AWS WAF. /// /// /// /// You can only specify a single type of TextTransformation. /// ///
  • /// /// A ComparisonOperator used for evaluating the selected part of the request /// against the specified Size, such as equals, greater than, less than, /// and so on. /// ///
  • /// /// The length, in bytes, that you want AWS WAF to watch for in selected part of the request. /// The length is computed after applying the transformation. /// ///
/// /// For example, you can add a SizeConstraintSetUpdate object that matches /// web requests in which the length of the User-Agent header is greater /// than 100 bytes. You can then configure AWS WAF to block those requests. /// /// /// /// To create and configure a SizeConstraintSet, perform the following steps: /// ///
  1. /// /// Create a SizeConstraintSet. For more information, see CreateSizeConstraintSet. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateSizeConstraintSet request. /// ///
  3. /// /// Submit an UpdateSizeConstraintSet request to specify the part of the /// request that you want AWS WAF to inspect (for example, the header or the URI) and /// the value that you want AWS WAF to watch for. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the UpdateSizeConstraintSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateSizeConstraintSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateSizeConstraintSet Operation public virtual Task UpdateSizeConstraintSetAsync(UpdateSizeConstraintSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSizeConstraintSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSizeConstraintSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateSqlInjectionMatchSet internal virtual UpdateSqlInjectionMatchSetResponse UpdateSqlInjectionMatchSet(UpdateSqlInjectionMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSqlInjectionMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. /// For each SqlInjectionMatchTuple object, you specify the following values: /// ///
  • /// /// Action: Whether to insert the object into or delete the object from /// the array. To change a SqlInjectionMatchTuple, you delete the existing /// object and add a new one. /// ///
  • /// /// FieldToMatch: The part of web requests that you want AWS WAF to inspect /// and, if you want AWS WAF to inspect a header or custom query parameter, the name of /// the header or parameter. /// ///
  • /// /// TextTransformation: Which text transformation, if any, to perform on /// the web request before inspecting the request for snippets of malicious SQL code. /// /// /// /// You can only specify a single type of TextTransformation. /// ///
/// /// You use SqlInjectionMatchSet objects to specify which CloudFront requests /// that you want to allow, block, or count. For example, if you're receiving requests /// that contain snippets of SQL code in the query string and you want to block the requests, /// you can create a SqlInjectionMatchSet with the applicable settings, and /// then configure AWS WAF to block the requests. /// /// /// /// To create and configure a SqlInjectionMatchSet, perform the following /// steps: /// ///
  1. /// /// Submit a CreateSqlInjectionMatchSet request. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateIPSet request. /// ///
  3. /// /// Submit an UpdateSqlInjectionMatchSet request to specify the parts of /// web requests that you want AWS WAF to inspect for snippets of SQL code. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// The SqlInjectionMatchSetId of the SqlInjectionMatchSet that you want to update. SqlInjectionMatchSetId is returned by CreateSqlInjectionMatchSet and by ListSqlInjectionMatchSets. /// An array of SqlInjectionMatchSetUpdate objects that you want to insert into or delete from a SqlInjectionMatchSet. For more information, see the applicable data types: /// The value returned by the most recent call to GetChangeToken. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateSqlInjectionMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateSqlInjectionMatchSet Operation public virtual Task UpdateSqlInjectionMatchSetAsync(string sqlInjectionMatchSetId, List updates, string changeToken, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var request = new UpdateSqlInjectionMatchSetRequest(); request.SqlInjectionMatchSetId = sqlInjectionMatchSetId; request.Updates = updates; request.ChangeToken = changeToken; return UpdateSqlInjectionMatchSetAsync(request, cancellationToken); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet. /// For each SqlInjectionMatchTuple object, you specify the following values: /// ///
  • /// /// Action: Whether to insert the object into or delete the object from /// the array. To change a SqlInjectionMatchTuple, you delete the existing /// object and add a new one. /// ///
  • /// /// FieldToMatch: The part of web requests that you want AWS WAF to inspect /// and, if you want AWS WAF to inspect a header or custom query parameter, the name of /// the header or parameter. /// ///
  • /// /// TextTransformation: Which text transformation, if any, to perform on /// the web request before inspecting the request for snippets of malicious SQL code. /// /// /// /// You can only specify a single type of TextTransformation. /// ///
/// /// You use SqlInjectionMatchSet objects to specify which CloudFront requests /// that you want to allow, block, or count. For example, if you're receiving requests /// that contain snippets of SQL code in the query string and you want to block the requests, /// you can create a SqlInjectionMatchSet with the applicable settings, and /// then configure AWS WAF to block the requests. /// /// /// /// To create and configure a SqlInjectionMatchSet, perform the following /// steps: /// ///
  1. /// /// Submit a CreateSqlInjectionMatchSet request. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateIPSet request. /// ///
  3. /// /// Submit an UpdateSqlInjectionMatchSet request to specify the parts of /// web requests that you want AWS WAF to inspect for snippets of SQL code. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the UpdateSqlInjectionMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateSqlInjectionMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateSqlInjectionMatchSet Operation public virtual Task UpdateSqlInjectionMatchSetAsync(UpdateSqlInjectionMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateSqlInjectionMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateSqlInjectionMatchSetResponseUnmarshaller.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); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes ActivatedRule objects in a WebACL. Each Rule /// identifies web requests that you want to allow, block, or count. When you update a /// WebACL, you specify the following values: /// ///
  • /// /// A default action for the WebACL, either ALLOW or BLOCK. /// AWS WAF performs the default action if a request doesn't match the criteria in any /// of the Rules in a WebACL. /// ///
  • /// /// The Rules that you want to add or delete. If you want to replace one /// Rule with another, you delete the existing Rule and add /// the new one. /// ///
  • /// /// For each Rule, whether you want AWS WAF to allow requests, block requests, /// or count requests that match the conditions in the Rule. /// ///
  • /// /// The order in which you want AWS WAF to evaluate the Rules in a WebACL. /// If you add more than one Rule to a WebACL, AWS WAF evaluates /// each request against the Rules in order based on the value of Priority. /// (The Rule that has the lowest value for Priority is evaluated /// first.) When a web request matches all the predicates (such as ByteMatchSets /// and IPSets) in a Rule, AWS WAF immediately takes the corresponding /// action, allow or block, and doesn't evaluate the request against the remaining Rules /// in the WebACL, if any. /// ///
/// /// To create and configure a WebACL, perform the following steps: /// ///
  1. /// /// Create and update the predicates that you want to include in Rules. For /// more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, /// UpdateIPSet, CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet. /// ///
  2. /// /// Create and update the Rules that you want to include in the WebACL. /// For more information, see CreateRule and UpdateRule. /// ///
  3. /// /// Create a WebACL. See CreateWebACL. /// ///
  4. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateWebACL request. /// ///
  5. /// /// Submit an UpdateWebACL request to specify the Rules that /// you want to include in the WebACL, to specify the default action, and /// to associate the WebACL with a CloudFront distribution. /// /// /// /// The ActivatedRule can be a rule group. If you specify a rule group as /// your ActivatedRule , you can exclude specific rules from that rule group. /// /// /// /// If you already have a rule group associated with a web ACL and want to submit an UpdateWebACL /// request to exclude certain rules from that rule group, you must first remove the rule /// group from the web ACL, the re-insert it again, specifying the excluded rules. For /// details, see ActivatedRule$ExcludedRules . /// ///
/// /// Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the /// rule type when first creating the rule, the UpdateWebACL request will fail /// because the request tries to add a REGULAR rule (the default rule type) with the specified /// ID, which does not exist. /// /// /// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// 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 WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to delete an object that is still in use. For /// example: /// ///
  • /// /// You tried to delete a ByteMatchSet that is still referenced by a Rule. /// ///
  • /// /// You tried to delete a Rule that is still referenced by a WebACL. /// ///
///
/// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// /// The specified subscription does not exist. /// /// 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 #region UpdateXssMatchSet internal virtual UpdateXssMatchSetResponse UpdateXssMatchSet(UpdateXssMatchSetRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateXssMatchSetResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// /// /// This is AWS WAF Classic documentation. For more information, see AWS /// WAF Classic in the developer guide. /// /// /// /// For the latest version of AWS WAF, use the AWS WAFV2 API and see the AWS /// WAF Developer Guide. With the latest version, AWS WAF has a single set of endpoints /// for regional and global use. /// /// /// /// Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet. /// For each XssMatchTuple object, you specify the following values: /// ///
  • /// /// Action: Whether to insert the object into or delete the object from /// the array. To change an XssMatchTuple, you delete the existing object /// and add a new one. /// ///
  • /// /// FieldToMatch: The part of web requests that you want AWS WAF to inspect /// and, if you want AWS WAF to inspect a header or custom query parameter, the name of /// the header or parameter. /// ///
  • /// /// TextTransformation: Which text transformation, if any, to perform on /// the web request before inspecting the request for cross-site scripting attacks. /// /// /// /// You can only specify a single type of TextTransformation. /// ///
/// /// You use XssMatchSet objects to specify which CloudFront requests that /// you want to allow, block, or count. For example, if you're receiving requests that /// contain cross-site scripting attacks in the request body and you want to block the /// requests, you can create an XssMatchSet with the applicable settings, /// and then configure AWS WAF to block the requests. /// /// /// /// To create and configure an XssMatchSet, perform the following steps: /// ///
  1. /// /// Submit a CreateXssMatchSet request. /// ///
  2. /// /// Use GetChangeToken to get the change token that you provide in the ChangeToken /// parameter of an UpdateIPSet request. /// ///
  3. /// /// Submit an UpdateXssMatchSet request to specify the parts of web requests /// that you want AWS WAF to inspect for cross-site scripting attacks. /// ///
/// /// For more information about how to use the AWS WAF API to allow or block HTTP requests, /// see the AWS WAF Developer /// Guide. /// ///
/// Container for the necessary parameters to execute the UpdateXssMatchSet service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateXssMatchSet service method, as returned by WAF. /// /// The operation failed because of a system problem, even though the request was valid. /// Retry your request. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// an invalid account identifier. /// /// /// The operation failed because there was nothing to do. For example: /// ///
  • /// /// You tried to remove a Rule from a WebACL, but the Rule /// isn't in the specified WebACL. /// ///
  • /// /// You tried to remove an IP address from an IPSet, but the IP address isn't /// in the specified IPSet. /// ///
  • /// /// You tried to remove a ByteMatchTuple from a ByteMatchSet, /// but the ByteMatchTuple isn't in the specified WebACL. /// ///
  • /// /// You tried to add a Rule to a WebACL, but the Rule /// already exists in the specified WebACL. /// ///
  • /// /// You tried to add a ByteMatchTuple to a ByteMatchSet, but /// the ByteMatchTuple already exists in the specified WebACL. /// ///
///
/// /// The operation failed because AWS WAF didn't recognize a parameter in the request. /// For example: /// ///
  • /// /// You specified an invalid parameter name. /// ///
  • /// /// You specified an invalid value. /// ///
  • /// /// You tried to update an object (ByteMatchSet, IPSet, Rule, /// or WebACL) using an action other than INSERT or DELETE. /// ///
  • /// /// You tried to create a WebACL with a DefaultAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to create a RateBasedRule with a RateKey value /// other than IP. /// ///
  • /// /// You tried to update a WebACL with a WafAction Type /// other than ALLOW, BLOCK, or COUNT. /// ///
  • /// /// You tried to update a ByteMatchSet with a FieldToMatch Type /// other than HEADER, METHOD, QUERY_STRING, URI, or BODY. /// ///
  • /// /// You tried to update a ByteMatchSet with a Field of HEADER /// but no value for Data. /// ///
  • /// /// Your request references an ARN that is malformed, or corresponds to a resource with /// which a web ACL cannot be associated. /// ///
///
/// /// The operation exceeds a resource limit, for example, the maximum number of WebACL /// objects that you can create for an AWS account. For more information, see Limits /// in the AWS WAF Developer Guide. /// /// /// The operation failed because you tried to add an object to or delete an object from /// another object that doesn't exist. For example: /// ///
  • /// /// You tried to add a Rule to or delete a Rule from a WebACL /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchSet to or delete a ByteMatchSet /// from a Rule that doesn't exist. /// ///
  • /// /// You tried to add an IP address to or delete an IP address from an IPSet /// that doesn't exist. /// ///
  • /// /// You tried to add a ByteMatchTuple to or delete a ByteMatchTuple /// from a ByteMatchSet that doesn't exist. /// ///
///
/// /// The operation failed because the referenced object doesn't exist. /// /// /// The operation failed because you tried to create, update, or delete an object by using /// a change token that has already been used. /// /// REST API Reference for UpdateXssMatchSet Operation public virtual Task UpdateXssMatchSetAsync(UpdateXssMatchSetRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateXssMatchSetRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateXssMatchSetResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion } }