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