diff --git a/clients/client-waf-regional/.gitignore b/clients/client-waf-regional/.gitignore
new file mode 100644
index 000000000000..b41c05b597c4
--- /dev/null
+++ b/clients/client-waf-regional/.gitignore
@@ -0,0 +1,14 @@
+/node_modules/
+/build/
+/coverage/
+/docs/
+/types/
+/dist/
+*.tsbuildinfo
+*.tgz
+*.log
+package-lock.json
+
+*.d.ts
+*.js
+*.js.map
diff --git a/clients/client-waf-regional/.npmignore b/clients/client-waf-regional/.npmignore
new file mode 100644
index 000000000000..b7ff81137c4a
--- /dev/null
+++ b/clients/client-waf-regional/.npmignore
@@ -0,0 +1,4 @@
+/coverage/
+/docs/
+tsconfig.test.json
+*.tsbuildinfo
diff --git a/clients/client-waf-regional/LICENSE b/clients/client-waf-regional/LICENSE
new file mode 100644
index 000000000000..b7d2463d8cc0
--- /dev/null
+++ b/clients/client-waf-regional/LICENSE
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2020 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.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License 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.
diff --git a/clients/client-waf-regional/README.md b/clients/client-waf-regional/README.md
new file mode 100644
index 000000000000..103ce0110394
--- /dev/null
+++ b/clients/client-waf-regional/README.md
@@ -0,0 +1,6 @@
+@aws-sdk/client-waf-regional
+
+[![NPM version](https://img.shields.io/npm/v/@aws-sdk/client-waf-regional/preview.svg)](https://www.npmjs.com/package/@aws-sdk/client-waf-regional)
+[![NPM downloads](https://img.shields.io/npm/dm/@aws-sdk/client-waf-regional.svg)](https://www.npmjs.com/package/@aws-sdk/client-waf-regional)
+
+For SDK usage, please step to [SDK reademe](https://github.com/aws/aws-sdk-js-v3).
diff --git a/clients/client-waf-regional/WAFRegional.ts b/clients/client-waf-regional/WAFRegional.ts
new file mode 100644
index 000000000000..3140537097ec
--- /dev/null
+++ b/clients/client-waf-regional/WAFRegional.ts
@@ -0,0 +1,4468 @@
+import { WAFRegionalClient } from "./WAFRegionalClient";
+import {
+ AssociateWebACLCommand,
+ AssociateWebACLCommandInput,
+ AssociateWebACLCommandOutput
+} from "./commands/AssociateWebACLCommand";
+import {
+ CreateByteMatchSetCommand,
+ CreateByteMatchSetCommandInput,
+ CreateByteMatchSetCommandOutput
+} from "./commands/CreateByteMatchSetCommand";
+import {
+ CreateGeoMatchSetCommand,
+ CreateGeoMatchSetCommandInput,
+ CreateGeoMatchSetCommandOutput
+} from "./commands/CreateGeoMatchSetCommand";
+import {
+ CreateIPSetCommand,
+ CreateIPSetCommandInput,
+ CreateIPSetCommandOutput
+} from "./commands/CreateIPSetCommand";
+import {
+ CreateRateBasedRuleCommand,
+ CreateRateBasedRuleCommandInput,
+ CreateRateBasedRuleCommandOutput
+} from "./commands/CreateRateBasedRuleCommand";
+import {
+ CreateRegexMatchSetCommand,
+ CreateRegexMatchSetCommandInput,
+ CreateRegexMatchSetCommandOutput
+} from "./commands/CreateRegexMatchSetCommand";
+import {
+ CreateRegexPatternSetCommand,
+ CreateRegexPatternSetCommandInput,
+ CreateRegexPatternSetCommandOutput
+} from "./commands/CreateRegexPatternSetCommand";
+import {
+ CreateRuleCommand,
+ CreateRuleCommandInput,
+ CreateRuleCommandOutput
+} from "./commands/CreateRuleCommand";
+import {
+ CreateRuleGroupCommand,
+ CreateRuleGroupCommandInput,
+ CreateRuleGroupCommandOutput
+} from "./commands/CreateRuleGroupCommand";
+import {
+ CreateSizeConstraintSetCommand,
+ CreateSizeConstraintSetCommandInput,
+ CreateSizeConstraintSetCommandOutput
+} from "./commands/CreateSizeConstraintSetCommand";
+import {
+ CreateSqlInjectionMatchSetCommand,
+ CreateSqlInjectionMatchSetCommandInput,
+ CreateSqlInjectionMatchSetCommandOutput
+} from "./commands/CreateSqlInjectionMatchSetCommand";
+import {
+ CreateWebACLCommand,
+ CreateWebACLCommandInput,
+ CreateWebACLCommandOutput
+} from "./commands/CreateWebACLCommand";
+import {
+ CreateXssMatchSetCommand,
+ CreateXssMatchSetCommandInput,
+ CreateXssMatchSetCommandOutput
+} from "./commands/CreateXssMatchSetCommand";
+import {
+ DeleteByteMatchSetCommand,
+ DeleteByteMatchSetCommandInput,
+ DeleteByteMatchSetCommandOutput
+} from "./commands/DeleteByteMatchSetCommand";
+import {
+ DeleteGeoMatchSetCommand,
+ DeleteGeoMatchSetCommandInput,
+ DeleteGeoMatchSetCommandOutput
+} from "./commands/DeleteGeoMatchSetCommand";
+import {
+ DeleteIPSetCommand,
+ DeleteIPSetCommandInput,
+ DeleteIPSetCommandOutput
+} from "./commands/DeleteIPSetCommand";
+import {
+ DeleteLoggingConfigurationCommand,
+ DeleteLoggingConfigurationCommandInput,
+ DeleteLoggingConfigurationCommandOutput
+} from "./commands/DeleteLoggingConfigurationCommand";
+import {
+ DeletePermissionPolicyCommand,
+ DeletePermissionPolicyCommandInput,
+ DeletePermissionPolicyCommandOutput
+} from "./commands/DeletePermissionPolicyCommand";
+import {
+ DeleteRateBasedRuleCommand,
+ DeleteRateBasedRuleCommandInput,
+ DeleteRateBasedRuleCommandOutput
+} from "./commands/DeleteRateBasedRuleCommand";
+import {
+ DeleteRegexMatchSetCommand,
+ DeleteRegexMatchSetCommandInput,
+ DeleteRegexMatchSetCommandOutput
+} from "./commands/DeleteRegexMatchSetCommand";
+import {
+ DeleteRegexPatternSetCommand,
+ DeleteRegexPatternSetCommandInput,
+ DeleteRegexPatternSetCommandOutput
+} from "./commands/DeleteRegexPatternSetCommand";
+import {
+ DeleteRuleCommand,
+ DeleteRuleCommandInput,
+ DeleteRuleCommandOutput
+} from "./commands/DeleteRuleCommand";
+import {
+ DeleteRuleGroupCommand,
+ DeleteRuleGroupCommandInput,
+ DeleteRuleGroupCommandOutput
+} from "./commands/DeleteRuleGroupCommand";
+import {
+ DeleteSizeConstraintSetCommand,
+ DeleteSizeConstraintSetCommandInput,
+ DeleteSizeConstraintSetCommandOutput
+} from "./commands/DeleteSizeConstraintSetCommand";
+import {
+ DeleteSqlInjectionMatchSetCommand,
+ DeleteSqlInjectionMatchSetCommandInput,
+ DeleteSqlInjectionMatchSetCommandOutput
+} from "./commands/DeleteSqlInjectionMatchSetCommand";
+import {
+ DeleteWebACLCommand,
+ DeleteWebACLCommandInput,
+ DeleteWebACLCommandOutput
+} from "./commands/DeleteWebACLCommand";
+import {
+ DeleteXssMatchSetCommand,
+ DeleteXssMatchSetCommandInput,
+ DeleteXssMatchSetCommandOutput
+} from "./commands/DeleteXssMatchSetCommand";
+import {
+ DisassociateWebACLCommand,
+ DisassociateWebACLCommandInput,
+ DisassociateWebACLCommandOutput
+} from "./commands/DisassociateWebACLCommand";
+import {
+ GetByteMatchSetCommand,
+ GetByteMatchSetCommandInput,
+ GetByteMatchSetCommandOutput
+} from "./commands/GetByteMatchSetCommand";
+import {
+ GetChangeTokenCommand,
+ GetChangeTokenCommandInput,
+ GetChangeTokenCommandOutput
+} from "./commands/GetChangeTokenCommand";
+import {
+ GetChangeTokenStatusCommand,
+ GetChangeTokenStatusCommandInput,
+ GetChangeTokenStatusCommandOutput
+} from "./commands/GetChangeTokenStatusCommand";
+import {
+ GetGeoMatchSetCommand,
+ GetGeoMatchSetCommandInput,
+ GetGeoMatchSetCommandOutput
+} from "./commands/GetGeoMatchSetCommand";
+import {
+ GetIPSetCommand,
+ GetIPSetCommandInput,
+ GetIPSetCommandOutput
+} from "./commands/GetIPSetCommand";
+import {
+ GetLoggingConfigurationCommand,
+ GetLoggingConfigurationCommandInput,
+ GetLoggingConfigurationCommandOutput
+} from "./commands/GetLoggingConfigurationCommand";
+import {
+ GetPermissionPolicyCommand,
+ GetPermissionPolicyCommandInput,
+ GetPermissionPolicyCommandOutput
+} from "./commands/GetPermissionPolicyCommand";
+import {
+ GetRateBasedRuleCommand,
+ GetRateBasedRuleCommandInput,
+ GetRateBasedRuleCommandOutput
+} from "./commands/GetRateBasedRuleCommand";
+import {
+ GetRateBasedRuleManagedKeysCommand,
+ GetRateBasedRuleManagedKeysCommandInput,
+ GetRateBasedRuleManagedKeysCommandOutput
+} from "./commands/GetRateBasedRuleManagedKeysCommand";
+import {
+ GetRegexMatchSetCommand,
+ GetRegexMatchSetCommandInput,
+ GetRegexMatchSetCommandOutput
+} from "./commands/GetRegexMatchSetCommand";
+import {
+ GetRegexPatternSetCommand,
+ GetRegexPatternSetCommandInput,
+ GetRegexPatternSetCommandOutput
+} from "./commands/GetRegexPatternSetCommand";
+import {
+ GetRuleCommand,
+ GetRuleCommandInput,
+ GetRuleCommandOutput
+} from "./commands/GetRuleCommand";
+import {
+ GetRuleGroupCommand,
+ GetRuleGroupCommandInput,
+ GetRuleGroupCommandOutput
+} from "./commands/GetRuleGroupCommand";
+import {
+ GetSampledRequestsCommand,
+ GetSampledRequestsCommandInput,
+ GetSampledRequestsCommandOutput
+} from "./commands/GetSampledRequestsCommand";
+import {
+ GetSizeConstraintSetCommand,
+ GetSizeConstraintSetCommandInput,
+ GetSizeConstraintSetCommandOutput
+} from "./commands/GetSizeConstraintSetCommand";
+import {
+ GetSqlInjectionMatchSetCommand,
+ GetSqlInjectionMatchSetCommandInput,
+ GetSqlInjectionMatchSetCommandOutput
+} from "./commands/GetSqlInjectionMatchSetCommand";
+import {
+ GetWebACLCommand,
+ GetWebACLCommandInput,
+ GetWebACLCommandOutput
+} from "./commands/GetWebACLCommand";
+import {
+ GetWebACLForResourceCommand,
+ GetWebACLForResourceCommandInput,
+ GetWebACLForResourceCommandOutput
+} from "./commands/GetWebACLForResourceCommand";
+import {
+ GetXssMatchSetCommand,
+ GetXssMatchSetCommandInput,
+ GetXssMatchSetCommandOutput
+} from "./commands/GetXssMatchSetCommand";
+import {
+ ListActivatedRulesInRuleGroupCommand,
+ ListActivatedRulesInRuleGroupCommandInput,
+ ListActivatedRulesInRuleGroupCommandOutput
+} from "./commands/ListActivatedRulesInRuleGroupCommand";
+import {
+ ListByteMatchSetsCommand,
+ ListByteMatchSetsCommandInput,
+ ListByteMatchSetsCommandOutput
+} from "./commands/ListByteMatchSetsCommand";
+import {
+ ListGeoMatchSetsCommand,
+ ListGeoMatchSetsCommandInput,
+ ListGeoMatchSetsCommandOutput
+} from "./commands/ListGeoMatchSetsCommand";
+import {
+ ListIPSetsCommand,
+ ListIPSetsCommandInput,
+ ListIPSetsCommandOutput
+} from "./commands/ListIPSetsCommand";
+import {
+ ListLoggingConfigurationsCommand,
+ ListLoggingConfigurationsCommandInput,
+ ListLoggingConfigurationsCommandOutput
+} from "./commands/ListLoggingConfigurationsCommand";
+import {
+ ListRateBasedRulesCommand,
+ ListRateBasedRulesCommandInput,
+ ListRateBasedRulesCommandOutput
+} from "./commands/ListRateBasedRulesCommand";
+import {
+ ListRegexMatchSetsCommand,
+ ListRegexMatchSetsCommandInput,
+ ListRegexMatchSetsCommandOutput
+} from "./commands/ListRegexMatchSetsCommand";
+import {
+ ListRegexPatternSetsCommand,
+ ListRegexPatternSetsCommandInput,
+ ListRegexPatternSetsCommandOutput
+} from "./commands/ListRegexPatternSetsCommand";
+import {
+ ListResourcesForWebACLCommand,
+ ListResourcesForWebACLCommandInput,
+ ListResourcesForWebACLCommandOutput
+} from "./commands/ListResourcesForWebACLCommand";
+import {
+ ListRuleGroupsCommand,
+ ListRuleGroupsCommandInput,
+ ListRuleGroupsCommandOutput
+} from "./commands/ListRuleGroupsCommand";
+import {
+ ListRulesCommand,
+ ListRulesCommandInput,
+ ListRulesCommandOutput
+} from "./commands/ListRulesCommand";
+import {
+ ListSizeConstraintSetsCommand,
+ ListSizeConstraintSetsCommandInput,
+ ListSizeConstraintSetsCommandOutput
+} from "./commands/ListSizeConstraintSetsCommand";
+import {
+ ListSqlInjectionMatchSetsCommand,
+ ListSqlInjectionMatchSetsCommandInput,
+ ListSqlInjectionMatchSetsCommandOutput
+} from "./commands/ListSqlInjectionMatchSetsCommand";
+import {
+ ListSubscribedRuleGroupsCommand,
+ ListSubscribedRuleGroupsCommandInput,
+ ListSubscribedRuleGroupsCommandOutput
+} from "./commands/ListSubscribedRuleGroupsCommand";
+import {
+ ListTagsForResourceCommand,
+ ListTagsForResourceCommandInput,
+ ListTagsForResourceCommandOutput
+} from "./commands/ListTagsForResourceCommand";
+import {
+ ListWebACLsCommand,
+ ListWebACLsCommandInput,
+ ListWebACLsCommandOutput
+} from "./commands/ListWebACLsCommand";
+import {
+ ListXssMatchSetsCommand,
+ ListXssMatchSetsCommandInput,
+ ListXssMatchSetsCommandOutput
+} from "./commands/ListXssMatchSetsCommand";
+import {
+ PutLoggingConfigurationCommand,
+ PutLoggingConfigurationCommandInput,
+ PutLoggingConfigurationCommandOutput
+} from "./commands/PutLoggingConfigurationCommand";
+import {
+ PutPermissionPolicyCommand,
+ PutPermissionPolicyCommandInput,
+ PutPermissionPolicyCommandOutput
+} from "./commands/PutPermissionPolicyCommand";
+import {
+ TagResourceCommand,
+ TagResourceCommandInput,
+ TagResourceCommandOutput
+} from "./commands/TagResourceCommand";
+import {
+ UntagResourceCommand,
+ UntagResourceCommandInput,
+ UntagResourceCommandOutput
+} from "./commands/UntagResourceCommand";
+import {
+ UpdateByteMatchSetCommand,
+ UpdateByteMatchSetCommandInput,
+ UpdateByteMatchSetCommandOutput
+} from "./commands/UpdateByteMatchSetCommand";
+import {
+ UpdateGeoMatchSetCommand,
+ UpdateGeoMatchSetCommandInput,
+ UpdateGeoMatchSetCommandOutput
+} from "./commands/UpdateGeoMatchSetCommand";
+import {
+ UpdateIPSetCommand,
+ UpdateIPSetCommandInput,
+ UpdateIPSetCommandOutput
+} from "./commands/UpdateIPSetCommand";
+import {
+ UpdateRateBasedRuleCommand,
+ UpdateRateBasedRuleCommandInput,
+ UpdateRateBasedRuleCommandOutput
+} from "./commands/UpdateRateBasedRuleCommand";
+import {
+ UpdateRegexMatchSetCommand,
+ UpdateRegexMatchSetCommandInput,
+ UpdateRegexMatchSetCommandOutput
+} from "./commands/UpdateRegexMatchSetCommand";
+import {
+ UpdateRegexPatternSetCommand,
+ UpdateRegexPatternSetCommandInput,
+ UpdateRegexPatternSetCommandOutput
+} from "./commands/UpdateRegexPatternSetCommand";
+import {
+ UpdateRuleCommand,
+ UpdateRuleCommandInput,
+ UpdateRuleCommandOutput
+} from "./commands/UpdateRuleCommand";
+import {
+ UpdateRuleGroupCommand,
+ UpdateRuleGroupCommandInput,
+ UpdateRuleGroupCommandOutput
+} from "./commands/UpdateRuleGroupCommand";
+import {
+ UpdateSizeConstraintSetCommand,
+ UpdateSizeConstraintSetCommandInput,
+ UpdateSizeConstraintSetCommandOutput
+} from "./commands/UpdateSizeConstraintSetCommand";
+import {
+ UpdateSqlInjectionMatchSetCommand,
+ UpdateSqlInjectionMatchSetCommandInput,
+ UpdateSqlInjectionMatchSetCommandOutput
+} from "./commands/UpdateSqlInjectionMatchSetCommand";
+import {
+ UpdateWebACLCommand,
+ UpdateWebACLCommandInput,
+ UpdateWebACLCommandOutput
+} from "./commands/UpdateWebACLCommand";
+import {
+ UpdateXssMatchSetCommand,
+ UpdateXssMatchSetCommandInput,
+ UpdateXssMatchSetCommandOutput
+} from "./commands/UpdateXssMatchSetCommand";
+import { HttpHandlerOptions as __HttpHandlerOptions } from "@aws-sdk/types";
+
+/**
+ *
+ *
This is the AWS WAF Regional API Reference for using AWS WAF with Elastic Load Balancing (ELB) Application Load Balancers. The AWS WAF actions and data types listed in the reference are available for protecting Application Load Balancers. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+export class WAFRegional extends WAFRegionalClient {
+ /**
+ *
+ * Associates a web ACL with a resource, either an application load balancer or Amazon API Gateway stage.
+ *
+ */
+ public associateWebACL(
+ args: AssociateWebACLCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public associateWebACL(
+ args: AssociateWebACLCommandInput,
+ cb: (err: any, data?: AssociateWebACLCommandOutput) => void
+ ): void;
+ public associateWebACL(
+ args: AssociateWebACLCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: AssociateWebACLCommandOutput) => void
+ ): void;
+ public associateWebACL(
+ args: AssociateWebACLCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: AssociateWebACLCommandOutput) => void),
+ cb?: (err: any, data?: AssociateWebACLCommandOutput) => void
+ ): Promise | void {
+ const command = new AssociateWebACLCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Removes a web ACL from the specified resource, either an application load balancer or Amazon API Gateway stage.
+ *
+ */
+ public disassociateWebACL(
+ args: DisassociateWebACLCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public disassociateWebACL(
+ args: DisassociateWebACLCommandInput,
+ cb: (err: any, data?: DisassociateWebACLCommandOutput) => void
+ ): void;
+ public disassociateWebACL(
+ args: DisassociateWebACLCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DisassociateWebACLCommandOutput) => void
+ ): void;
+ public disassociateWebACL(
+ args: DisassociateWebACLCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DisassociateWebACLCommandOutput) => void),
+ cb?: (err: any, data?: DisassociateWebACLCommandOutput) => void
+ ): Promise | void {
+ const command = new DisassociateWebACLCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the web ACL for the specified resource, either an application load balancer or Amazon API Gateway stage.
+ *
+ */
+ public getWebACLForResource(
+ args: GetWebACLForResourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getWebACLForResource(
+ args: GetWebACLForResourceCommandInput,
+ cb: (err: any, data?: GetWebACLForResourceCommandOutput) => void
+ ): void;
+ public getWebACLForResource(
+ args: GetWebACLForResourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetWebACLForResourceCommandOutput) => void
+ ): void;
+ public getWebACLForResource(
+ args: GetWebACLForResourceCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetWebACLForResourceCommandOutput) => void),
+ cb?: (err: any, data?: GetWebACLForResourceCommandOutput) => void
+ ): Promise | void {
+ const command = new GetWebACLForResourceCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of resources associated with the specified web ACL.
+ *
+ */
+ public listResourcesForWebACL(
+ args: ListResourcesForWebACLCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listResourcesForWebACL(
+ args: ListResourcesForWebACLCommandInput,
+ cb: (err: any, data?: ListResourcesForWebACLCommandOutput) => void
+ ): void;
+ public listResourcesForWebACL(
+ args: ListResourcesForWebACLCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListResourcesForWebACLCommandOutput) => void
+ ): void;
+ public listResourcesForWebACL(
+ args: ListResourcesForWebACLCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListResourcesForWebACLCommandOutput) => void),
+ cb?: (err: any, data?: ListResourcesForWebACLCommandOutput) => void
+ ): Promise | void {
+ const command = new ListResourcesForWebACLCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a ByteMatchSet
. You then use UpdateByteMatchSet to identify the part of a
+ * web request that you want AWS WAF to inspect, such as the values of the User-Agent
header or the query string.
+ * For example, you can create a ByteMatchSet
that matches any requests with User-Agent
headers
+ * that contain the string BadBot
. You can then configure AWS WAF to reject those requests.
+ * To create and configure a ByteMatchSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateByteMatchSet
request.
+ *
+ * -
+ *
Submit a CreateByteMatchSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateByteMatchSet
request.
+ *
+ * -
+ *
Submit an UpdateByteMatchSet request to specify the part of the request that you want AWS WAF to inspect
+ * (for example, the header or the URI) and the value that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createByteMatchSet(
+ args: CreateByteMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createByteMatchSet(
+ args: CreateByteMatchSetCommandInput,
+ cb: (err: any, data?: CreateByteMatchSetCommandOutput) => void
+ ): void;
+ public createByteMatchSet(
+ args: CreateByteMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateByteMatchSetCommandOutput) => void
+ ): void;
+ public createByteMatchSet(
+ args: CreateByteMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateByteMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateByteMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateByteMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates an GeoMatchSet, which you use to specify which web requests you want to allow or block based on the country
+ * that the requests originate from. For example, if you're receiving a lot of requests from one or more countries and you want to block the requests, you can create an GeoMatchSet
that contains those countries and then configure AWS WAF to block the requests.
+ * To create and configure a GeoMatchSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateGeoMatchSet
request.
+ *
+ * -
+ *
Submit a CreateGeoMatchSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateGeoMatchSet request.
+ *
+ * -
+ *
Submit an UpdateGeoMatchSetSet
request to specify the countries that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createGeoMatchSet(
+ args: CreateGeoMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createGeoMatchSet(
+ args: CreateGeoMatchSetCommandInput,
+ cb: (err: any, data?: CreateGeoMatchSetCommandOutput) => void
+ ): void;
+ public createGeoMatchSet(
+ args: CreateGeoMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateGeoMatchSetCommandOutput) => void
+ ): void;
+ public createGeoMatchSet(
+ args: CreateGeoMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateGeoMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateGeoMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateGeoMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates an IPSet, which you use to specify which web requests
+ * that
+ * you want to allow or block based on the IP addresses that the requests
+ * originate from. For example, if you're receiving a lot of requests from one or more
+ * individual IP addresses or one or more ranges of IP addresses and you want to block the
+ * requests, you can create an IPSet
that contains those IP addresses and then
+ * configure AWS WAF to block the requests.
+ * To create and configure an IPSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateIPSet
request.
+ *
+ * -
+ *
Submit a CreateIPSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateIPSet request.
+ *
+ * -
+ *
Submit an UpdateIPSet
request to specify the IP addresses that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createIPSet(
+ args: CreateIPSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createIPSet(
+ args: CreateIPSetCommandInput,
+ cb: (err: any, data?: CreateIPSetCommandOutput) => void
+ ): void;
+ public createIPSet(
+ args: CreateIPSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateIPSetCommandOutput) => void
+ ): void;
+ public createIPSet(
+ args: CreateIPSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateIPSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateIPSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateIPSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a RateBasedRule. The RateBasedRule
contains a
+ * RateLimit
, which specifies the maximum number of requests that AWS WAF allows
+ * from a specified IP address in a five-minute period. The RateBasedRule
also
+ * contains the IPSet
objects, ByteMatchSet
objects, and other
+ * predicates that identify the requests that you want to count or block if these requests
+ * exceed the RateLimit
.
+ * If you add more than one predicate to a RateBasedRule
, a request not
+ * only must exceed the RateLimit
, but it also must match all the
+ * specifications
+ * to be counted or blocked. For example, suppose you add the following to a
+ * RateBasedRule
:
+ *
+ * Further, you specify a RateLimit
of 15,000.
+ * You then add the RateBasedRule
to a WebACL
and specify that
+ * you want to block requests that meet the conditions in the rule. For a request to be
+ * blocked, it must come from the IP address 192.0.2.44 and the
+ * User-Agent
header in the request must contain the value
+ * BadBot
. Further, requests that match these two conditions must be received at
+ * a rate of more than 15,000 requests every five minutes. If both conditions are met and the
+ * rate is exceeded, AWS WAF blocks the requests. If the rate drops below 15,000 for a
+ * five-minute period, AWS WAF no longer blocks the requests.
+ *
+ * As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a
+ * RateBasedRule
:
+ *
+ *
+ *
+ * -
+ *
A ByteMatchSet
with FieldToMatch
of URI
+ *
+ *
+ * -
+ *
A PositionalConstraint
of STARTS_WITH
+ *
+ *
+ * -
+ *
A TargetString
of login
+ *
+ *
+ *
+ * Further, you specify a RateLimit
of 15,000.
+ * By adding this RateBasedRule
to a WebACL
, you could limit requests to your login page without affecting the rest of your site.
+ *
+ *
+ * To create and configure a RateBasedRule
, perform the following
+ * steps:
+ *
+ * -
+ *
Create and update the predicates that you want to include in the rule. For more
+ * information, see CreateByteMatchSet, CreateIPSet,
+ * and CreateSqlInjectionMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide
+ * in the ChangeToken
parameter of a CreateRule
+ * request.
+ *
+ * -
+ *
Submit a CreateRateBasedRule
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the
+ * ChangeToken
parameter of an UpdateRule
+ * request.
+ *
+ * -
+ *
Submit an UpdateRateBasedRule
request to specify the predicates
+ * that you want to include in the rule.
+ *
+ * -
+ *
Create and update a WebACL
that contains the
+ * RateBasedRule
. For more information, see CreateWebACL.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests,
+ * see the AWS WAF Developer
+ * Guide.
+ *
+ */
+ public createRateBasedRule(
+ args: CreateRateBasedRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createRateBasedRule(
+ args: CreateRateBasedRuleCommandInput,
+ cb: (err: any, data?: CreateRateBasedRuleCommandOutput) => void
+ ): void;
+ public createRateBasedRule(
+ args: CreateRateBasedRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateRateBasedRuleCommandOutput) => void
+ ): void;
+ public createRateBasedRule(
+ args: CreateRateBasedRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateRateBasedRuleCommandOutput) => void),
+ cb?: (err: any, data?: CreateRateBasedRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateRateBasedRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a RegexMatchSet. You then use UpdateRegexMatchSet to identify the part of a
+ * web request that you want AWS WAF to inspect, such as the values of the User-Agent
header or the query string.
+ * For example, you can create a RegexMatchSet
that contains a RegexMatchTuple
that looks for any requests with User-Agent
headers
+ * that match a RegexPatternSet
with pattern B[a@]dB[o0]t
. You can then configure AWS WAF to reject those requests.
+ * To create and configure a RegexMatchSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateRegexMatchSet
request.
+ *
+ * -
+ *
Submit a CreateRegexMatchSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateRegexMatchSet
request.
+ *
+ * -
+ *
Submit an UpdateRegexMatchSet request to specify the part of the request that you want AWS WAF to inspect
+ * (for example, the header or the URI) and the value, using a RegexPatternSet
, that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createRegexMatchSet(
+ args: CreateRegexMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createRegexMatchSet(
+ args: CreateRegexMatchSetCommandInput,
+ cb: (err: any, data?: CreateRegexMatchSetCommandOutput) => void
+ ): void;
+ public createRegexMatchSet(
+ args: CreateRegexMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateRegexMatchSetCommandOutput) => void
+ ): void;
+ public createRegexMatchSet(
+ args: CreateRegexMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateRegexMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateRegexMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateRegexMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a RegexPatternSet
. You then use UpdateRegexPatternSet to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as B[a@]dB[o0]t
. You can then configure AWS WAF to reject those requests.
+ * To create and configure a RegexPatternSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateRegexPatternSet
request.
+ *
+ * -
+ *
Submit a CreateRegexPatternSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateRegexPatternSet
request.
+ *
+ * -
+ *
Submit an UpdateRegexPatternSet request to specify the string that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createRegexPatternSet(
+ args: CreateRegexPatternSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createRegexPatternSet(
+ args: CreateRegexPatternSetCommandInput,
+ cb: (err: any, data?: CreateRegexPatternSetCommandOutput) => void
+ ): void;
+ public createRegexPatternSet(
+ args: CreateRegexPatternSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateRegexPatternSetCommandOutput) => void
+ ): void;
+ public createRegexPatternSet(
+ args: CreateRegexPatternSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateRegexPatternSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateRegexPatternSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateRegexPatternSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a Rule
, which contains the IPSet
objects,
+ * ByteMatchSet
objects, and other predicates that identify the requests that
+ * you want to block. If you add more than one predicate to a Rule
, a request
+ * must match all of the specifications to be allowed or blocked. For example, suppose
+ * that
+ * you add the following to a Rule
:
+ *
+ * You then add the Rule
to a WebACL
and specify that you want to blocks requests that satisfy the Rule
.
+ * For a request to be blocked, it must come from the IP address 192.0.2.44 and the User-Agent
header in the request
+ * must contain the value BadBot
.
+ * To create and configure a Rule
, perform the following steps:
+ *
+ * -
+ *
Create and update the predicates that you want to include in the Rule
. For more information, see
+ * CreateByteMatchSet, CreateIPSet, and CreateSqlInjectionMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateRule
request.
+ *
+ * -
+ *
Submit a CreateRule
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateRule request.
+ *
+ * -
+ *
Submit an UpdateRule
request to specify the predicates that you want to include in the Rule
.
+ *
+ * -
+ *
Create and update a WebACL
that contains the Rule
. For more information, see CreateWebACL.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createRule(
+ args: CreateRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createRule(
+ args: CreateRuleCommandInput,
+ cb: (err: any, data?: CreateRuleCommandOutput) => void
+ ): void;
+ public createRule(
+ args: CreateRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateRuleCommandOutput) => void
+ ): void;
+ public createRule(
+ args: CreateRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateRuleCommandOutput) => void),
+ cb?: (err: any, data?: CreateRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a RuleGroup
. A rule group is a collection of predefined rules that you add to a web ACL. You use UpdateRuleGroup to add rules to the rule group.
+ * Rule groups are subject to the following limits:
+ *
+ * -
+ *
Three rule groups per account. You can request an increase to this limit by contacting customer support.
+ *
+ * -
+ *
One rule group per web ACL.
+ *
+ * -
+ *
Ten rules per rule group.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createRuleGroup(
+ args: CreateRuleGroupCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createRuleGroup(
+ args: CreateRuleGroupCommandInput,
+ cb: (err: any, data?: CreateRuleGroupCommandOutput) => void
+ ): void;
+ public createRuleGroup(
+ args: CreateRuleGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateRuleGroupCommandOutput) => void
+ ): void;
+ public createRuleGroup(
+ args: CreateRuleGroupCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateRuleGroupCommandOutput) => void),
+ cb?: (err: any, data?: CreateRuleGroupCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateRuleGroupCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a SizeConstraintSet
. You then use UpdateSizeConstraintSet to identify the part of a
+ * web request that you want AWS WAF to check for length, such as the length of the User-Agent
header or the length of the query string.
+ * For example, you can create a SizeConstraintSet
that matches any requests that have a query string that is longer than 100 bytes.
+ * You can then configure AWS WAF to reject those requests.
+ * To create and configure a SizeConstraintSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateSizeConstraintSet
request.
+ *
+ * -
+ *
Submit a CreateSizeConstraintSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateSizeConstraintSet
request.
+ *
+ * -
+ *
Submit an UpdateSizeConstraintSet request to specify the part of the request that you want AWS WAF to inspect
+ * (for example, the header or the URI) and the value that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createSizeConstraintSet(
+ args: CreateSizeConstraintSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createSizeConstraintSet(
+ args: CreateSizeConstraintSetCommandInput,
+ cb: (err: any, data?: CreateSizeConstraintSetCommandOutput) => void
+ ): void;
+ public createSizeConstraintSet(
+ args: CreateSizeConstraintSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateSizeConstraintSetCommandOutput) => void
+ ): void;
+ public createSizeConstraintSet(
+ args: CreateSizeConstraintSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateSizeConstraintSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateSizeConstraintSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateSizeConstraintSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a SqlInjectionMatchSet, which you use to allow, block, or count requests that contain snippets of SQL code in a
+ * specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.
+ * To create and configure a SqlInjectionMatchSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateSqlInjectionMatchSet
request.
+ *
+ * -
+ *
Submit a CreateSqlInjectionMatchSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateSqlInjectionMatchSet request.
+ *
+ * -
+ *
Submit an UpdateSqlInjectionMatchSet request to specify the parts of web requests in which you want to
+ * allow, block, or count malicious SQL code.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createSqlInjectionMatchSet(
+ args: CreateSqlInjectionMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createSqlInjectionMatchSet(
+ args: CreateSqlInjectionMatchSetCommandInput,
+ cb: (err: any, data?: CreateSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public createSqlInjectionMatchSet(
+ args: CreateSqlInjectionMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public createSqlInjectionMatchSet(
+ args: CreateSqlInjectionMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateSqlInjectionMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateSqlInjectionMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateSqlInjectionMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates a WebACL
, which contains the Rules
that identify the CloudFront web requests that you want to allow, block, or count.
+ * AWS WAF evaluates Rules
in order based on the value of Priority
for each Rule
.
+ * You also specify a default action, either ALLOW
or BLOCK
. If a web request doesn't match
+ * any of the Rules
in a WebACL
, AWS WAF responds to the request with the default action.
+ * To create and configure a WebACL
, perform the following steps:
+ *
+ * -
+ *
Create and update the ByteMatchSet
objects and other predicates that you want to include in Rules
.
+ * For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet,
+ * CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
+ *
+ * -
+ *
Create and update the Rules
that you want to include in the WebACL
. For more information, see
+ * CreateRule and UpdateRule.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateWebACL
request.
+ *
+ * -
+ *
Submit a CreateWebACL
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateWebACL request.
+ *
+ * -
+ *
Submit an UpdateWebACL request to specify the Rules
that you want to include in the WebACL
,
+ * to specify the default action, and to associate the WebACL
with a CloudFront distribution.
+ *
+ *
+ * For more information about how to use the AWS WAF API, see the AWS WAF Developer Guide.
+ *
+ */
+ public createWebACL(
+ args: CreateWebACLCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createWebACL(
+ args: CreateWebACLCommandInput,
+ cb: (err: any, data?: CreateWebACLCommandOutput) => void
+ ): void;
+ public createWebACL(
+ args: CreateWebACLCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateWebACLCommandOutput) => void
+ ): void;
+ public createWebACL(
+ args: CreateWebACLCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateWebACLCommandOutput) => void),
+ cb?: (err: any, data?: CreateWebACLCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateWebACLCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Creates an XssMatchSet, which you use to allow, block, or count requests that contain cross-site scripting attacks
+ * in the specified part of web requests. AWS WAF searches for character sequences that are likely to be malicious strings.
+ * To create and configure an XssMatchSet
, perform the following steps:
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * CreateXssMatchSet
request.
+ *
+ * -
+ *
Submit a CreateXssMatchSet
request.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateXssMatchSet request.
+ *
+ * -
+ *
Submit an UpdateXssMatchSet request to specify the parts of web requests in which you want to
+ * allow, block, or count cross-site scripting attacks.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public createXssMatchSet(
+ args: CreateXssMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public createXssMatchSet(
+ args: CreateXssMatchSetCommandInput,
+ cb: (err: any, data?: CreateXssMatchSetCommandOutput) => void
+ ): void;
+ public createXssMatchSet(
+ args: CreateXssMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: CreateXssMatchSetCommandOutput) => void
+ ): void;
+ public createXssMatchSet(
+ args: CreateXssMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: CreateXssMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: CreateXssMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new CreateXssMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a ByteMatchSet. You can't delete a ByteMatchSet
if it's still used in any Rules
+ * or if it still includes any ByteMatchTuple objects (any filters).
+ * If you just want to remove a ByteMatchSet
from a Rule
, use UpdateRule.
+ * To permanently delete a ByteMatchSet
, perform the following steps:
+ *
+ * -
+ *
Update the ByteMatchSet
to remove filters, if any. For more information, see UpdateByteMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteByteMatchSet
request.
+ *
+ * -
+ *
Submit a DeleteByteMatchSet
request.
+ *
+ *
+ *
+ */
+ public deleteByteMatchSet(
+ args: DeleteByteMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteByteMatchSet(
+ args: DeleteByteMatchSetCommandInput,
+ cb: (err: any, data?: DeleteByteMatchSetCommandOutput) => void
+ ): void;
+ public deleteByteMatchSet(
+ args: DeleteByteMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteByteMatchSetCommandOutput) => void
+ ): void;
+ public deleteByteMatchSet(
+ args: DeleteByteMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteByteMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteByteMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteByteMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a GeoMatchSet. You can't delete a GeoMatchSet
if it's still used in any Rules
or
+ * if it still includes any countries.
+ * If you just want to remove a GeoMatchSet
from a Rule
, use UpdateRule.
+ * To permanently delete a GeoMatchSet
from AWS WAF, perform the following steps:
+ *
+ * -
+ *
Update the GeoMatchSet
to remove any countries. For more information, see UpdateGeoMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteGeoMatchSet
request.
+ *
+ * -
+ *
Submit a DeleteGeoMatchSet
request.
+ *
+ *
+ *
+ */
+ public deleteGeoMatchSet(
+ args: DeleteGeoMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteGeoMatchSet(
+ args: DeleteGeoMatchSetCommandInput,
+ cb: (err: any, data?: DeleteGeoMatchSetCommandOutput) => void
+ ): void;
+ public deleteGeoMatchSet(
+ args: DeleteGeoMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteGeoMatchSetCommandOutput) => void
+ ): void;
+ public deleteGeoMatchSet(
+ args: DeleteGeoMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteGeoMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteGeoMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteGeoMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes an IPSet. You can't delete an IPSet
if it's still used in any Rules
or
+ * if it still includes any IP addresses.
+ * If you just want to remove an IPSet
from a Rule
, use UpdateRule.
+ * To permanently delete an IPSet
from AWS WAF, perform the following steps:
+ *
+ * -
+ *
Update the IPSet
to remove IP address ranges, if any. For more information, see UpdateIPSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteIPSet
request.
+ *
+ * -
+ *
Submit a DeleteIPSet
request.
+ *
+ *
+ *
+ */
+ public deleteIPSet(
+ args: DeleteIPSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteIPSet(
+ args: DeleteIPSetCommandInput,
+ cb: (err: any, data?: DeleteIPSetCommandOutput) => void
+ ): void;
+ public deleteIPSet(
+ args: DeleteIPSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteIPSetCommandOutput) => void
+ ): void;
+ public deleteIPSet(
+ args: DeleteIPSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteIPSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteIPSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteIPSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes the LoggingConfiguration from the specified web
+ * ACL.
+ *
+ */
+ public deleteLoggingConfiguration(
+ args: DeleteLoggingConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteLoggingConfiguration(
+ args: DeleteLoggingConfigurationCommandInput,
+ cb: (err: any, data?: DeleteLoggingConfigurationCommandOutput) => void
+ ): void;
+ public deleteLoggingConfiguration(
+ args: DeleteLoggingConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteLoggingConfigurationCommandOutput) => void
+ ): void;
+ public deleteLoggingConfiguration(
+ args: DeleteLoggingConfigurationCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteLoggingConfigurationCommandOutput) => void),
+ cb?: (err: any, data?: DeleteLoggingConfigurationCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteLoggingConfigurationCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes an IAM policy from the specified RuleGroup.
+ * The user making the request must be the owner of the RuleGroup.
+ *
+ */
+ public deletePermissionPolicy(
+ args: DeletePermissionPolicyCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deletePermissionPolicy(
+ args: DeletePermissionPolicyCommandInput,
+ cb: (err: any, data?: DeletePermissionPolicyCommandOutput) => void
+ ): void;
+ public deletePermissionPolicy(
+ args: DeletePermissionPolicyCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeletePermissionPolicyCommandOutput) => void
+ ): void;
+ public deletePermissionPolicy(
+ args: DeletePermissionPolicyCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeletePermissionPolicyCommandOutput) => void),
+ cb?: (err: any, data?: DeletePermissionPolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new DeletePermissionPolicyCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a RateBasedRule. You can't delete a rule if
+ * it's still used in any WebACL
objects or if it still includes any predicates,
+ * such as ByteMatchSet
objects.
+ * If you just want to remove a rule from a WebACL
, use UpdateWebACL.
+ * To permanently delete a RateBasedRule
from AWS WAF, perform the following
+ * steps:
+ *
+ * -
+ *
Update the RateBasedRule
to remove predicates, if any. For more
+ * information, see UpdateRateBasedRule.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide
+ * in the ChangeToken
parameter of a DeleteRateBasedRule
+ * request.
+ *
+ * -
+ *
Submit a DeleteRateBasedRule
request.
+ *
+ *
+ *
+ */
+ public deleteRateBasedRule(
+ args: DeleteRateBasedRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteRateBasedRule(
+ args: DeleteRateBasedRuleCommandInput,
+ cb: (err: any, data?: DeleteRateBasedRuleCommandOutput) => void
+ ): void;
+ public deleteRateBasedRule(
+ args: DeleteRateBasedRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteRateBasedRuleCommandOutput) => void
+ ): void;
+ public deleteRateBasedRule(
+ args: DeleteRateBasedRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteRateBasedRuleCommandOutput) => void),
+ cb?: (err: any, data?: DeleteRateBasedRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteRateBasedRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a RegexMatchSet. You can't delete a RegexMatchSet
if it's still used in any Rules
+ * or if it still includes any RegexMatchTuples
objects (any filters).
+ * If you just want to remove a RegexMatchSet
from a Rule
, use UpdateRule.
+ * To permanently delete a RegexMatchSet
, perform the following steps:
+ *
+ * -
+ *
Update the RegexMatchSet
to remove filters, if any. For more information, see UpdateRegexMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteRegexMatchSet
request.
+ *
+ * -
+ *
Submit a DeleteRegexMatchSet
request.
+ *
+ *
+ *
+ */
+ public deleteRegexMatchSet(
+ args: DeleteRegexMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteRegexMatchSet(
+ args: DeleteRegexMatchSetCommandInput,
+ cb: (err: any, data?: DeleteRegexMatchSetCommandOutput) => void
+ ): void;
+ public deleteRegexMatchSet(
+ args: DeleteRegexMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteRegexMatchSetCommandOutput) => void
+ ): void;
+ public deleteRegexMatchSet(
+ args: DeleteRegexMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteRegexMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteRegexMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteRegexMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a RegexPatternSet. You can't delete a RegexPatternSet
if it's still used in any RegexMatchSet
+ * or if the RegexPatternSet
is not empty.
+ *
+ */
+ public deleteRegexPatternSet(
+ args: DeleteRegexPatternSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteRegexPatternSet(
+ args: DeleteRegexPatternSetCommandInput,
+ cb: (err: any, data?: DeleteRegexPatternSetCommandOutput) => void
+ ): void;
+ public deleteRegexPatternSet(
+ args: DeleteRegexPatternSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteRegexPatternSetCommandOutput) => void
+ ): void;
+ public deleteRegexPatternSet(
+ args: DeleteRegexPatternSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteRegexPatternSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteRegexPatternSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteRegexPatternSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a Rule. You can't delete a Rule
if it's still used in any WebACL
+ * objects or if it still includes any predicates, such as ByteMatchSet
objects.
+ * If you just want to remove a Rule
from a WebACL
, use UpdateWebACL.
+ * To permanently delete a Rule
from AWS WAF, perform the following steps:
+ *
+ * -
+ *
Update the Rule
to remove predicates, if any. For more information, see UpdateRule.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteRule
request.
+ *
+ * -
+ *
Submit a DeleteRule
request.
+ *
+ *
+ *
+ */
+ public deleteRule(
+ args: DeleteRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteRule(
+ args: DeleteRuleCommandInput,
+ cb: (err: any, data?: DeleteRuleCommandOutput) => void
+ ): void;
+ public deleteRule(
+ args: DeleteRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteRuleCommandOutput) => void
+ ): void;
+ public deleteRule(
+ args: DeleteRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteRuleCommandOutput) => void),
+ cb?: (err: any, data?: DeleteRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a RuleGroup. You can't delete a RuleGroup
if it's still used in any WebACL
+ * objects or if it still includes any rules.
+ * If you just want to remove a RuleGroup
from a WebACL
, use UpdateWebACL.
+ * To permanently delete a RuleGroup
from AWS WAF, perform the following steps:
+ *
+ * -
+ *
Update the RuleGroup
to remove rules, if any. For more information, see UpdateRuleGroup.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteRuleGroup
request.
+ *
+ * -
+ *
Submit a DeleteRuleGroup
request.
+ *
+ *
+ *
+ */
+ public deleteRuleGroup(
+ args: DeleteRuleGroupCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteRuleGroup(
+ args: DeleteRuleGroupCommandInput,
+ cb: (err: any, data?: DeleteRuleGroupCommandOutput) => void
+ ): void;
+ public deleteRuleGroup(
+ args: DeleteRuleGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteRuleGroupCommandOutput) => void
+ ): void;
+ public deleteRuleGroup(
+ args: DeleteRuleGroupCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteRuleGroupCommandOutput) => void),
+ cb?: (err: any, data?: DeleteRuleGroupCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteRuleGroupCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a SizeConstraintSet. You can't delete a SizeConstraintSet
if it's still used in any Rules
+ * or if it still includes any SizeConstraint objects (any filters).
+ * If you just want to remove a SizeConstraintSet
from a Rule
, use UpdateRule.
+ * To permanently delete a SizeConstraintSet
, perform the following steps:
+ *
+ * -
+ *
Update the SizeConstraintSet
to remove filters, if any. For more information, see UpdateSizeConstraintSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteSizeConstraintSet
request.
+ *
+ * -
+ *
Submit a DeleteSizeConstraintSet
request.
+ *
+ *
+ *
+ */
+ public deleteSizeConstraintSet(
+ args: DeleteSizeConstraintSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteSizeConstraintSet(
+ args: DeleteSizeConstraintSetCommandInput,
+ cb: (err: any, data?: DeleteSizeConstraintSetCommandOutput) => void
+ ): void;
+ public deleteSizeConstraintSet(
+ args: DeleteSizeConstraintSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteSizeConstraintSetCommandOutput) => void
+ ): void;
+ public deleteSizeConstraintSet(
+ args: DeleteSizeConstraintSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteSizeConstraintSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteSizeConstraintSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteSizeConstraintSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a SqlInjectionMatchSet. You can't delete a SqlInjectionMatchSet
if it's
+ * still used in any Rules
or if it still contains any SqlInjectionMatchTuple objects.
+ * If you just want to remove a SqlInjectionMatchSet
from a Rule
, use UpdateRule.
+ * To permanently delete a SqlInjectionMatchSet
from AWS WAF, perform the following steps:
+ *
+ * -
+ *
Update the SqlInjectionMatchSet
to remove filters, if any. For more information, see
+ * UpdateSqlInjectionMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteSqlInjectionMatchSet
request.
+ *
+ * -
+ *
Submit a DeleteSqlInjectionMatchSet
request.
+ *
+ *
+ *
+ */
+ public deleteSqlInjectionMatchSet(
+ args: DeleteSqlInjectionMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteSqlInjectionMatchSet(
+ args: DeleteSqlInjectionMatchSetCommandInput,
+ cb: (err: any, data?: DeleteSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public deleteSqlInjectionMatchSet(
+ args: DeleteSqlInjectionMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public deleteSqlInjectionMatchSet(
+ args: DeleteSqlInjectionMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteSqlInjectionMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteSqlInjectionMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteSqlInjectionMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes a WebACL. You can't delete a WebACL
if it still contains any Rules
.
+ * To delete a WebACL
, perform the following steps:
+ *
+ * -
+ *
Update the WebACL
to remove Rules
, if any. For more information, see UpdateWebACL.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteWebACL
request.
+ *
+ * -
+ *
Submit a DeleteWebACL
request.
+ *
+ *
+ *
+ */
+ public deleteWebACL(
+ args: DeleteWebACLCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteWebACL(
+ args: DeleteWebACLCommandInput,
+ cb: (err: any, data?: DeleteWebACLCommandOutput) => void
+ ): void;
+ public deleteWebACL(
+ args: DeleteWebACLCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteWebACLCommandOutput) => void
+ ): void;
+ public deleteWebACL(
+ args: DeleteWebACLCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteWebACLCommandOutput) => void),
+ cb?: (err: any, data?: DeleteWebACLCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteWebACLCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Permanently deletes an XssMatchSet. You can't delete an XssMatchSet
if it's
+ * still used in any Rules
or if it still contains any XssMatchTuple objects.
+ * If you just want to remove an XssMatchSet
from a Rule
, use UpdateRule.
+ * To permanently delete an XssMatchSet
from AWS WAF, perform the following steps:
+ *
+ * -
+ *
Update the XssMatchSet
to remove filters, if any. For more information, see
+ * UpdateXssMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of a
+ * DeleteXssMatchSet
request.
+ *
+ * -
+ *
Submit a DeleteXssMatchSet
request.
+ *
+ *
+ *
+ */
+ public deleteXssMatchSet(
+ args: DeleteXssMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public deleteXssMatchSet(
+ args: DeleteXssMatchSetCommandInput,
+ cb: (err: any, data?: DeleteXssMatchSetCommandOutput) => void
+ ): void;
+ public deleteXssMatchSet(
+ args: DeleteXssMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: DeleteXssMatchSetCommandOutput) => void
+ ): void;
+ public deleteXssMatchSet(
+ args: DeleteXssMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: DeleteXssMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: DeleteXssMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new DeleteXssMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the ByteMatchSet specified by ByteMatchSetId
.
+ *
+ */
+ public getByteMatchSet(
+ args: GetByteMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getByteMatchSet(
+ args: GetByteMatchSetCommandInput,
+ cb: (err: any, data?: GetByteMatchSetCommandOutput) => void
+ ): void;
+ public getByteMatchSet(
+ args: GetByteMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetByteMatchSetCommandOutput) => void
+ ): void;
+ public getByteMatchSet(
+ args: GetByteMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetByteMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: GetByteMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetByteMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * When you want to create, update, or delete AWS WAF objects, get a change token and include the change token in the create, update, or delete request. Change tokens ensure that your application doesn't submit conflicting requests to AWS WAF.
+ * Each create, update, or delete request must use a unique change token. If your application submits a GetChangeToken
request
+ * and then submits a second GetChangeToken
request before submitting a create, update, or delete request, the second
+ * GetChangeToken
request returns the same value as the first GetChangeToken
request.
+ * When you use a change token in a create, update, or delete request, the status of the change token changes to PENDING
,
+ * which indicates that AWS WAF is propagating the change to all AWS WAF servers. Use GetChangeTokenStatus
to determine the
+ * status of your change token.
+ *
+ */
+ public getChangeToken(
+ args: GetChangeTokenCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getChangeToken(
+ args: GetChangeTokenCommandInput,
+ cb: (err: any, data?: GetChangeTokenCommandOutput) => void
+ ): void;
+ public getChangeToken(
+ args: GetChangeTokenCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetChangeTokenCommandOutput) => void
+ ): void;
+ public getChangeToken(
+ args: GetChangeTokenCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetChangeTokenCommandOutput) => void),
+ cb?: (err: any, data?: GetChangeTokenCommandOutput) => void
+ ): Promise | void {
+ const command = new GetChangeTokenCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the status of a ChangeToken
that you got by calling GetChangeToken. ChangeTokenStatus
is
+ * one of the following values:
+ *
+ * -
+ *
+ * PROVISIONED
: You requested the change token by calling GetChangeToken
, but you haven't used it yet
+ * in a call to create, update, or delete an AWS WAF object.
+ *
+ * -
+ *
+ * PENDING
: AWS WAF is propagating the create, update, or delete request to all AWS WAF servers.
+ *
+ * -
+ *
+ * INSYNC
: Propagation is complete.
+ *
+ *
+ *
+ */
+ public getChangeTokenStatus(
+ args: GetChangeTokenStatusCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getChangeTokenStatus(
+ args: GetChangeTokenStatusCommandInput,
+ cb: (err: any, data?: GetChangeTokenStatusCommandOutput) => void
+ ): void;
+ public getChangeTokenStatus(
+ args: GetChangeTokenStatusCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetChangeTokenStatusCommandOutput) => void
+ ): void;
+ public getChangeTokenStatus(
+ args: GetChangeTokenStatusCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetChangeTokenStatusCommandOutput) => void),
+ cb?: (err: any, data?: GetChangeTokenStatusCommandOutput) => void
+ ): Promise | void {
+ const command = new GetChangeTokenStatusCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the GeoMatchSet that is specified by GeoMatchSetId
.
+ *
+ */
+ public getGeoMatchSet(
+ args: GetGeoMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getGeoMatchSet(
+ args: GetGeoMatchSetCommandInput,
+ cb: (err: any, data?: GetGeoMatchSetCommandOutput) => void
+ ): void;
+ public getGeoMatchSet(
+ args: GetGeoMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetGeoMatchSetCommandOutput) => void
+ ): void;
+ public getGeoMatchSet(
+ args: GetGeoMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetGeoMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: GetGeoMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetGeoMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the IPSet that is specified by IPSetId
.
+ *
+ */
+ public getIPSet(
+ args: GetIPSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getIPSet(
+ args: GetIPSetCommandInput,
+ cb: (err: any, data?: GetIPSetCommandOutput) => void
+ ): void;
+ public getIPSet(
+ args: GetIPSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetIPSetCommandOutput) => void
+ ): void;
+ public getIPSet(
+ args: GetIPSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetIPSetCommandOutput) => void),
+ cb?: (err: any, data?: GetIPSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetIPSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the LoggingConfiguration for the specified web ACL.
+ *
+ */
+ public getLoggingConfiguration(
+ args: GetLoggingConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getLoggingConfiguration(
+ args: GetLoggingConfigurationCommandInput,
+ cb: (err: any, data?: GetLoggingConfigurationCommandOutput) => void
+ ): void;
+ public getLoggingConfiguration(
+ args: GetLoggingConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetLoggingConfigurationCommandOutput) => void
+ ): void;
+ public getLoggingConfiguration(
+ args: GetLoggingConfigurationCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetLoggingConfigurationCommandOutput) => void),
+ cb?: (err: any, data?: GetLoggingConfigurationCommandOutput) => void
+ ): Promise | void {
+ const command = new GetLoggingConfigurationCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the IAM policy attached to the RuleGroup.
+ *
+ */
+ public getPermissionPolicy(
+ args: GetPermissionPolicyCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getPermissionPolicy(
+ args: GetPermissionPolicyCommandInput,
+ cb: (err: any, data?: GetPermissionPolicyCommandOutput) => void
+ ): void;
+ public getPermissionPolicy(
+ args: GetPermissionPolicyCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetPermissionPolicyCommandOutput) => void
+ ): void;
+ public getPermissionPolicy(
+ args: GetPermissionPolicyCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetPermissionPolicyCommandOutput) => void),
+ cb?: (err: any, data?: GetPermissionPolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new GetPermissionPolicyCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the RateBasedRule that is specified by the
+ * RuleId
that you included in the GetRateBasedRule
+ * request.
+ *
+ */
+ public getRateBasedRule(
+ args: GetRateBasedRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getRateBasedRule(
+ args: GetRateBasedRuleCommandInput,
+ cb: (err: any, data?: GetRateBasedRuleCommandOutput) => void
+ ): void;
+ public getRateBasedRule(
+ args: GetRateBasedRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetRateBasedRuleCommandOutput) => void
+ ): void;
+ public getRateBasedRule(
+ args: GetRateBasedRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetRateBasedRuleCommandOutput) => void),
+ cb?: (err: any, data?: GetRateBasedRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new GetRateBasedRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of IP addresses currently being blocked by the RateBasedRule that is specified by the RuleId
. The maximum
+ * number of managed keys that will be blocked is 10,000. If more than 10,000 addresses exceed
+ * the rate limit, the 10,000 addresses with the highest rates will be blocked.
+ *
+ */
+ public getRateBasedRuleManagedKeys(
+ args: GetRateBasedRuleManagedKeysCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getRateBasedRuleManagedKeys(
+ args: GetRateBasedRuleManagedKeysCommandInput,
+ cb: (err: any, data?: GetRateBasedRuleManagedKeysCommandOutput) => void
+ ): void;
+ public getRateBasedRuleManagedKeys(
+ args: GetRateBasedRuleManagedKeysCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetRateBasedRuleManagedKeysCommandOutput) => void
+ ): void;
+ public getRateBasedRuleManagedKeys(
+ args: GetRateBasedRuleManagedKeysCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetRateBasedRuleManagedKeysCommandOutput) => void),
+ cb?: (err: any, data?: GetRateBasedRuleManagedKeysCommandOutput) => void
+ ): Promise | void {
+ const command = new GetRateBasedRuleManagedKeysCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the RegexMatchSet specified by RegexMatchSetId
.
+ *
+ */
+ public getRegexMatchSet(
+ args: GetRegexMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getRegexMatchSet(
+ args: GetRegexMatchSetCommandInput,
+ cb: (err: any, data?: GetRegexMatchSetCommandOutput) => void
+ ): void;
+ public getRegexMatchSet(
+ args: GetRegexMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetRegexMatchSetCommandOutput) => void
+ ): void;
+ public getRegexMatchSet(
+ args: GetRegexMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetRegexMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: GetRegexMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetRegexMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the RegexPatternSet specified by RegexPatternSetId
.
+ *
+ */
+ public getRegexPatternSet(
+ args: GetRegexPatternSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getRegexPatternSet(
+ args: GetRegexPatternSetCommandInput,
+ cb: (err: any, data?: GetRegexPatternSetCommandOutput) => void
+ ): void;
+ public getRegexPatternSet(
+ args: GetRegexPatternSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetRegexPatternSetCommandOutput) => void
+ ): void;
+ public getRegexPatternSet(
+ args: GetRegexPatternSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetRegexPatternSetCommandOutput) => void),
+ cb?: (err: any, data?: GetRegexPatternSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetRegexPatternSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the Rule that is specified by the RuleId
that you included in the GetRule
request.
+ *
+ */
+ public getRule(
+ args: GetRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getRule(
+ args: GetRuleCommandInput,
+ cb: (err: any, data?: GetRuleCommandOutput) => void
+ ): void;
+ public getRule(
+ args: GetRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetRuleCommandOutput) => void
+ ): void;
+ public getRule(
+ args: GetRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetRuleCommandOutput) => void),
+ cb?: (err: any, data?: GetRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new GetRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the RuleGroup that is specified by the RuleGroupId
that you included in the GetRuleGroup
request.
+ * To view the rules in a rule group, use ListActivatedRulesInRuleGroup.
+ *
+ */
+ public getRuleGroup(
+ args: GetRuleGroupCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getRuleGroup(
+ args: GetRuleGroupCommandInput,
+ cb: (err: any, data?: GetRuleGroupCommandOutput) => void
+ ): void;
+ public getRuleGroup(
+ args: GetRuleGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetRuleGroupCommandOutput) => void
+ ): void;
+ public getRuleGroup(
+ args: GetRuleGroupCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetRuleGroupCommandOutput) => void),
+ cb?: (err: any, data?: GetRuleGroupCommandOutput) => void
+ ): Promise | void {
+ const command = new GetRuleGroupCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Gets detailed information about a specified number of requests--a sample--that AWS WAF randomly selects from among the first 5,000 requests that your AWS resource received during a time range that you choose. You can specify a sample size of up to 500 requests, and you can specify any time range in the previous three hours.
+ *
+ * GetSampledRequests
returns a time range, which is usually the time range that you specified. However, if your resource
+ * (such as a CloudFront distribution) received 5,000 requests before the specified time range elapsed, GetSampledRequests
+ * returns an updated time range. This new time range indicates the actual period during which AWS WAF selected the requests in the sample.
+ *
+ */
+ public getSampledRequests(
+ args: GetSampledRequestsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getSampledRequests(
+ args: GetSampledRequestsCommandInput,
+ cb: (err: any, data?: GetSampledRequestsCommandOutput) => void
+ ): void;
+ public getSampledRequests(
+ args: GetSampledRequestsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetSampledRequestsCommandOutput) => void
+ ): void;
+ public getSampledRequests(
+ args: GetSampledRequestsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetSampledRequestsCommandOutput) => void),
+ cb?: (err: any, data?: GetSampledRequestsCommandOutput) => void
+ ): Promise | void {
+ const command = new GetSampledRequestsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the SizeConstraintSet specified by SizeConstraintSetId
.
+ *
+ */
+ public getSizeConstraintSet(
+ args: GetSizeConstraintSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getSizeConstraintSet(
+ args: GetSizeConstraintSetCommandInput,
+ cb: (err: any, data?: GetSizeConstraintSetCommandOutput) => void
+ ): void;
+ public getSizeConstraintSet(
+ args: GetSizeConstraintSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetSizeConstraintSetCommandOutput) => void
+ ): void;
+ public getSizeConstraintSet(
+ args: GetSizeConstraintSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetSizeConstraintSetCommandOutput) => void),
+ cb?: (err: any, data?: GetSizeConstraintSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetSizeConstraintSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the SqlInjectionMatchSet that is specified by SqlInjectionMatchSetId
.
+ *
+ */
+ public getSqlInjectionMatchSet(
+ args: GetSqlInjectionMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getSqlInjectionMatchSet(
+ args: GetSqlInjectionMatchSetCommandInput,
+ cb: (err: any, data?: GetSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public getSqlInjectionMatchSet(
+ args: GetSqlInjectionMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public getSqlInjectionMatchSet(
+ args: GetSqlInjectionMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetSqlInjectionMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: GetSqlInjectionMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetSqlInjectionMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the WebACL that is specified by WebACLId
.
+ *
+ */
+ public getWebACL(
+ args: GetWebACLCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getWebACL(
+ args: GetWebACLCommandInput,
+ cb: (err: any, data?: GetWebACLCommandOutput) => void
+ ): void;
+ public getWebACL(
+ args: GetWebACLCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetWebACLCommandOutput) => void
+ ): void;
+ public getWebACL(
+ args: GetWebACLCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetWebACLCommandOutput) => void),
+ cb?: (err: any, data?: GetWebACLCommandOutput) => void
+ ): Promise | void {
+ const command = new GetWebACLCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns the XssMatchSet that is specified by XssMatchSetId
.
+ *
+ */
+ public getXssMatchSet(
+ args: GetXssMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public getXssMatchSet(
+ args: GetXssMatchSetCommandInput,
+ cb: (err: any, data?: GetXssMatchSetCommandOutput) => void
+ ): void;
+ public getXssMatchSet(
+ args: GetXssMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: GetXssMatchSetCommandOutput) => void
+ ): void;
+ public getXssMatchSet(
+ args: GetXssMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: GetXssMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: GetXssMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new GetXssMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of ActivatedRule objects.
+ *
+ */
+ public listActivatedRulesInRuleGroup(
+ args: ListActivatedRulesInRuleGroupCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listActivatedRulesInRuleGroup(
+ args: ListActivatedRulesInRuleGroupCommandInput,
+ cb: (err: any, data?: ListActivatedRulesInRuleGroupCommandOutput) => void
+ ): void;
+ public listActivatedRulesInRuleGroup(
+ args: ListActivatedRulesInRuleGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListActivatedRulesInRuleGroupCommandOutput) => void
+ ): void;
+ public listActivatedRulesInRuleGroup(
+ args: ListActivatedRulesInRuleGroupCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListActivatedRulesInRuleGroupCommandOutput) => void),
+ cb?: (err: any, data?: ListActivatedRulesInRuleGroupCommandOutput) => void
+ ): Promise | void {
+ const command = new ListActivatedRulesInRuleGroupCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of ByteMatchSetSummary objects.
+ *
+ */
+ public listByteMatchSets(
+ args: ListByteMatchSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listByteMatchSets(
+ args: ListByteMatchSetsCommandInput,
+ cb: (err: any, data?: ListByteMatchSetsCommandOutput) => void
+ ): void;
+ public listByteMatchSets(
+ args: ListByteMatchSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListByteMatchSetsCommandOutput) => void
+ ): void;
+ public listByteMatchSets(
+ args: ListByteMatchSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListByteMatchSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListByteMatchSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListByteMatchSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of GeoMatchSetSummary objects in the response.
+ *
+ */
+ public listGeoMatchSets(
+ args: ListGeoMatchSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listGeoMatchSets(
+ args: ListGeoMatchSetsCommandInput,
+ cb: (err: any, data?: ListGeoMatchSetsCommandOutput) => void
+ ): void;
+ public listGeoMatchSets(
+ args: ListGeoMatchSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListGeoMatchSetsCommandOutput) => void
+ ): void;
+ public listGeoMatchSets(
+ args: ListGeoMatchSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListGeoMatchSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListGeoMatchSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListGeoMatchSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of IPSetSummary objects in the response.
+ *
+ */
+ public listIPSets(
+ args: ListIPSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listIPSets(
+ args: ListIPSetsCommandInput,
+ cb: (err: any, data?: ListIPSetsCommandOutput) => void
+ ): void;
+ public listIPSets(
+ args: ListIPSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListIPSetsCommandOutput) => void
+ ): void;
+ public listIPSets(
+ args: ListIPSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListIPSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListIPSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListIPSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of LoggingConfiguration objects.
+ *
+ */
+ public listLoggingConfigurations(
+ args: ListLoggingConfigurationsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listLoggingConfigurations(
+ args: ListLoggingConfigurationsCommandInput,
+ cb: (err: any, data?: ListLoggingConfigurationsCommandOutput) => void
+ ): void;
+ public listLoggingConfigurations(
+ args: ListLoggingConfigurationsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListLoggingConfigurationsCommandOutput) => void
+ ): void;
+ public listLoggingConfigurations(
+ args: ListLoggingConfigurationsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListLoggingConfigurationsCommandOutput) => void),
+ cb?: (err: any, data?: ListLoggingConfigurationsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListLoggingConfigurationsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of RuleSummary objects.
+ *
+ */
+ public listRateBasedRules(
+ args: ListRateBasedRulesCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listRateBasedRules(
+ args: ListRateBasedRulesCommandInput,
+ cb: (err: any, data?: ListRateBasedRulesCommandOutput) => void
+ ): void;
+ public listRateBasedRules(
+ args: ListRateBasedRulesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListRateBasedRulesCommandOutput) => void
+ ): void;
+ public listRateBasedRules(
+ args: ListRateBasedRulesCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListRateBasedRulesCommandOutput) => void),
+ cb?: (err: any, data?: ListRateBasedRulesCommandOutput) => void
+ ): Promise | void {
+ const command = new ListRateBasedRulesCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of RegexMatchSetSummary objects.
+ *
+ */
+ public listRegexMatchSets(
+ args: ListRegexMatchSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listRegexMatchSets(
+ args: ListRegexMatchSetsCommandInput,
+ cb: (err: any, data?: ListRegexMatchSetsCommandOutput) => void
+ ): void;
+ public listRegexMatchSets(
+ args: ListRegexMatchSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListRegexMatchSetsCommandOutput) => void
+ ): void;
+ public listRegexMatchSets(
+ args: ListRegexMatchSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListRegexMatchSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListRegexMatchSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListRegexMatchSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of RegexPatternSetSummary objects.
+ *
+ */
+ public listRegexPatternSets(
+ args: ListRegexPatternSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listRegexPatternSets(
+ args: ListRegexPatternSetsCommandInput,
+ cb: (err: any, data?: ListRegexPatternSetsCommandOutput) => void
+ ): void;
+ public listRegexPatternSets(
+ args: ListRegexPatternSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListRegexPatternSetsCommandOutput) => void
+ ): void;
+ public listRegexPatternSets(
+ args: ListRegexPatternSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListRegexPatternSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListRegexPatternSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListRegexPatternSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of RuleGroup objects.
+ *
+ */
+ public listRuleGroups(
+ args: ListRuleGroupsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listRuleGroups(
+ args: ListRuleGroupsCommandInput,
+ cb: (err: any, data?: ListRuleGroupsCommandOutput) => void
+ ): void;
+ public listRuleGroups(
+ args: ListRuleGroupsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListRuleGroupsCommandOutput) => void
+ ): void;
+ public listRuleGroups(
+ args: ListRuleGroupsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListRuleGroupsCommandOutput) => void),
+ cb?: (err: any, data?: ListRuleGroupsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListRuleGroupsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of RuleSummary objects.
+ *
+ */
+ public listRules(
+ args: ListRulesCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listRules(
+ args: ListRulesCommandInput,
+ cb: (err: any, data?: ListRulesCommandOutput) => void
+ ): void;
+ public listRules(
+ args: ListRulesCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListRulesCommandOutput) => void
+ ): void;
+ public listRules(
+ args: ListRulesCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListRulesCommandOutput) => void),
+ cb?: (err: any, data?: ListRulesCommandOutput) => void
+ ): Promise | void {
+ const command = new ListRulesCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of SizeConstraintSetSummary objects.
+ *
+ */
+ public listSizeConstraintSets(
+ args: ListSizeConstraintSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listSizeConstraintSets(
+ args: ListSizeConstraintSetsCommandInput,
+ cb: (err: any, data?: ListSizeConstraintSetsCommandOutput) => void
+ ): void;
+ public listSizeConstraintSets(
+ args: ListSizeConstraintSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListSizeConstraintSetsCommandOutput) => void
+ ): void;
+ public listSizeConstraintSets(
+ args: ListSizeConstraintSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListSizeConstraintSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListSizeConstraintSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListSizeConstraintSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of SqlInjectionMatchSet objects.
+ *
+ */
+ public listSqlInjectionMatchSets(
+ args: ListSqlInjectionMatchSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listSqlInjectionMatchSets(
+ args: ListSqlInjectionMatchSetsCommandInput,
+ cb: (err: any, data?: ListSqlInjectionMatchSetsCommandOutput) => void
+ ): void;
+ public listSqlInjectionMatchSets(
+ args: ListSqlInjectionMatchSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListSqlInjectionMatchSetsCommandOutput) => void
+ ): void;
+ public listSqlInjectionMatchSets(
+ args: ListSqlInjectionMatchSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListSqlInjectionMatchSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListSqlInjectionMatchSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListSqlInjectionMatchSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of RuleGroup objects that you are subscribed to.
+ *
+ */
+ public listSubscribedRuleGroups(
+ args: ListSubscribedRuleGroupsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listSubscribedRuleGroups(
+ args: ListSubscribedRuleGroupsCommandInput,
+ cb: (err: any, data?: ListSubscribedRuleGroupsCommandOutput) => void
+ ): void;
+ public listSubscribedRuleGroups(
+ args: ListSubscribedRuleGroupsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListSubscribedRuleGroupsCommandOutput) => void
+ ): void;
+ public listSubscribedRuleGroups(
+ args: ListSubscribedRuleGroupsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListSubscribedRuleGroupsCommandOutput) => void),
+ cb?: (err: any, data?: ListSubscribedRuleGroupsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListSubscribedRuleGroupsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ public listTagsForResource(
+ args: ListTagsForResourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listTagsForResource(
+ args: ListTagsForResourceCommandInput,
+ cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
+ ): void;
+ public listTagsForResource(
+ args: ListTagsForResourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListTagsForResourceCommandOutput) => void
+ ): void;
+ public listTagsForResource(
+ args: ListTagsForResourceCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListTagsForResourceCommandOutput) => void),
+ cb?: (err: any, data?: ListTagsForResourceCommandOutput) => void
+ ): Promise | void {
+ const command = new ListTagsForResourceCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of WebACLSummary objects in the response.
+ *
+ */
+ public listWebACLs(
+ args: ListWebACLsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listWebACLs(
+ args: ListWebACLsCommandInput,
+ cb: (err: any, data?: ListWebACLsCommandOutput) => void
+ ): void;
+ public listWebACLs(
+ args: ListWebACLsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListWebACLsCommandOutput) => void
+ ): void;
+ public listWebACLs(
+ args: ListWebACLsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListWebACLsCommandOutput) => void),
+ cb?: (err: any, data?: ListWebACLsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListWebACLsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Returns an array of XssMatchSet objects.
+ *
+ */
+ public listXssMatchSets(
+ args: ListXssMatchSetsCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public listXssMatchSets(
+ args: ListXssMatchSetsCommandInput,
+ cb: (err: any, data?: ListXssMatchSetsCommandOutput) => void
+ ): void;
+ public listXssMatchSets(
+ args: ListXssMatchSetsCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: ListXssMatchSetsCommandOutput) => void
+ ): void;
+ public listXssMatchSets(
+ args: ListXssMatchSetsCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: ListXssMatchSetsCommandOutput) => void),
+ cb?: (err: any, data?: ListXssMatchSetsCommandOutput) => void
+ ): Promise | void {
+ const command = new ListXssMatchSetsCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Associates a LoggingConfiguration with a specified web ACL.
+ * You can access information about all traffic that AWS WAF inspects using the following
+ * steps:
+ *
+ * -
+ *
Create an Amazon Kinesis Data
+ * Firehose.
+ * Create the data firehose with a PUT source and in the region that you are operating. However, if you are capturing logs for Amazon CloudFront, always create the firehose in US East (N. Virginia).
+ *
+ * Do not create the data firehose using a Kinesis stream
as your source.
+ *
+ *
+ * -
+ *
Associate that firehose to your web ACL using a PutLoggingConfiguration
request.
+ *
+ *
+ *
+ * When you successfully enable logging using a PutLoggingConfiguration
request, AWS WAF will create a service linked role with the necessary permissions to write logs to the Amazon Kinesis Data Firehose. For more information, see Logging Web ACL Traffic Information in the AWS WAF Developer Guide.
+ *
+ */
+ public putLoggingConfiguration(
+ args: PutLoggingConfigurationCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public putLoggingConfiguration(
+ args: PutLoggingConfigurationCommandInput,
+ cb: (err: any, data?: PutLoggingConfigurationCommandOutput) => void
+ ): void;
+ public putLoggingConfiguration(
+ args: PutLoggingConfigurationCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: PutLoggingConfigurationCommandOutput) => void
+ ): void;
+ public putLoggingConfiguration(
+ args: PutLoggingConfigurationCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: PutLoggingConfigurationCommandOutput) => void),
+ cb?: (err: any, data?: PutLoggingConfigurationCommandOutput) => void
+ ): Promise | void {
+ const command = new PutLoggingConfigurationCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Attaches a IAM policy to the specified resource. The only supported use for this action is to share a RuleGroup across accounts.
+ * The PutPermissionPolicy
is subject to the following restrictions:
+ *
+ * -
+ *
You can attach only one policy with each PutPermissionPolicy
request.
+ *
+ * -
+ *
The policy must include an Effect
, Action
and Principal
.
+ *
+ * -
+ *
+ *
+ * Effect
must specify Allow
.
+ *
+ * -
+ *
The Action
in the policy must be waf:UpdateWebACL
, waf-regional:UpdateWebACL
, waf:GetRuleGroup
and waf-regional:GetRuleGroup
. Any extra or wildcard actions in the policy will be rejected.
+ *
+ * -
+ *
The policy cannot include a Resource
parameter.
+ *
+ * -
+ *
The ARN in the request must be a valid WAF RuleGroup ARN and the RuleGroup must exist in the same region.
+ *
+ * -
+ *
The user making the request must be the owner of the RuleGroup.
+ *
+ * -
+ *
Your policy must be composed using IAM Policy version 2012-10-17.
+ *
+ *
+ * For more information, see IAM Policies.
+ *
+ * An example of a valid policy parameter is shown in the Examples section below.
+ *
+ *
+ */
+ public putPermissionPolicy(
+ args: PutPermissionPolicyCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public putPermissionPolicy(
+ args: PutPermissionPolicyCommandInput,
+ cb: (err: any, data?: PutPermissionPolicyCommandOutput) => void
+ ): void;
+ public putPermissionPolicy(
+ args: PutPermissionPolicyCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: PutPermissionPolicyCommandOutput) => void
+ ): void;
+ public putPermissionPolicy(
+ args: PutPermissionPolicyCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: PutPermissionPolicyCommandOutput) => void),
+ cb?: (err: any, data?: PutPermissionPolicyCommandOutput) => void
+ ): Promise | void {
+ const command = new PutPermissionPolicyCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ public tagResource(
+ args: TagResourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public tagResource(
+ args: TagResourceCommandInput,
+ cb: (err: any, data?: TagResourceCommandOutput) => void
+ ): void;
+ public tagResource(
+ args: TagResourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: TagResourceCommandOutput) => void
+ ): void;
+ public tagResource(
+ args: TagResourceCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: TagResourceCommandOutput) => void),
+ cb?: (err: any, data?: TagResourceCommandOutput) => void
+ ): Promise | void {
+ const command = new TagResourceCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ public untagResource(
+ args: UntagResourceCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public untagResource(
+ args: UntagResourceCommandInput,
+ cb: (err: any, data?: UntagResourceCommandOutput) => void
+ ): void;
+ public untagResource(
+ args: UntagResourceCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UntagResourceCommandOutput) => void
+ ): void;
+ public untagResource(
+ args: UntagResourceCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UntagResourceCommandOutput) => void),
+ cb?: (err: any, data?: UntagResourceCommandOutput) => void
+ ): Promise | void {
+ const command = new UntagResourceCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes ByteMatchTuple objects (filters) in a ByteMatchSet. For each ByteMatchTuple
object,
+ * you specify the following values:
+ *
+ * -
+ *
Whether to insert or delete the object from the array. If you want to change a ByteMatchSetUpdate
object,
+ * you delete the existing object and add a new one.
+ *
+ * -
+ *
The part of a web request that you want AWS WAF to inspect, such as a query string or the value of the User-Agent
header.
+ *
+ * -
+ *
The bytes (typically a string that corresponds with ASCII characters) that you want AWS WAF to look for. For more information, including how you specify
+ * the values for the AWS WAF API and the AWS CLI or SDKs, see TargetString
in the ByteMatchTuple data type.
+ *
+ * -
+ *
Where to look, such as at the beginning or the end of a query string.
+ *
+ * -
+ *
Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.
+ *
+ *
+ * For example, you can add a ByteMatchSetUpdate
object that matches web requests in which User-Agent
headers contain
+ * the string BadBot
. You can then configure AWS WAF to block those requests.
+ * To create and configure a ByteMatchSet
, perform the following steps:
+ *
+ * -
+ *
Create a ByteMatchSet.
For more information, see CreateByteMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateByteMatchSet
request.
+ *
+ * -
+ *
Submit an UpdateByteMatchSet
request to specify the part of the request that you want AWS WAF to inspect
+ * (for example, the header or the URI) and the value that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateByteMatchSet(
+ args: UpdateByteMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateByteMatchSet(
+ args: UpdateByteMatchSetCommandInput,
+ cb: (err: any, data?: UpdateByteMatchSetCommandOutput) => void
+ ): void;
+ public updateByteMatchSet(
+ args: UpdateByteMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateByteMatchSetCommandOutput) => void
+ ): void;
+ public updateByteMatchSet(
+ args: UpdateByteMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateByteMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateByteMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateByteMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes GeoMatchConstraint objects in an GeoMatchSet
. For each GeoMatchConstraint
object,
+ * you specify the following values:
+ *
+ * -
+ *
Whether to insert or delete the object from the array. If you want to change an GeoMatchConstraint
object, you delete the existing object and add a new one.
+ *
+ * -
+ *
The Type
. The only valid value for Type
is Country
.
+ *
+ * -
+ *
The Value
, which is a two character code for the country to add to the GeoMatchConstraint
object. Valid codes are listed in GeoMatchConstraint$Value.
+ *
+ *
+ *
+ * To create and configure an GeoMatchSet
, perform the following steps:
+ *
+ * -
+ *
Submit a CreateGeoMatchSet request.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateGeoMatchSet request.
+ *
+ * -
+ *
Submit an UpdateGeoMatchSet
request to specify the country that you want AWS WAF to watch for.
+ *
+ *
+ * When you update an GeoMatchSet
, you specify the country that you want to add and/or the country that you want to delete.
+ * If you want to change a country, you delete the existing country and add the new one.
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateGeoMatchSet(
+ args: UpdateGeoMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateGeoMatchSet(
+ args: UpdateGeoMatchSetCommandInput,
+ cb: (err: any, data?: UpdateGeoMatchSetCommandOutput) => void
+ ): void;
+ public updateGeoMatchSet(
+ args: UpdateGeoMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateGeoMatchSetCommandOutput) => void
+ ): void;
+ public updateGeoMatchSet(
+ args: UpdateGeoMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateGeoMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateGeoMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateGeoMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes IPSetDescriptor objects in an
+ * IPSet
. For each IPSetDescriptor
object, you specify the following
+ * values:
+ *
+ * -
+ *
Whether to insert or delete the object from the array. If you want to change an
+ * IPSetDescriptor
object, you delete the existing object and add a new
+ * one.
+ *
+ * -
+ *
The IP address version, IPv4
or IPv6
.
+ *
+ * -
+ *
The IP address in CIDR notation, for example, 192.0.2.0/24
(for
+ * the range of IP addresses from 192.0.2.0
to 192.0.2.255
) or
+ * 192.0.2.44/32
(for the individual IP address
+ * 192.0.2.44
).
+ *
+ *
+ * AWS WAF supports IPv4 address ranges: /8 and any range between /16 through /32. AWS
+ * WAF supports IPv6 address ranges: /24, /32, /48, /56, /64, and /128. For more
+ * information about CIDR notation, see the Wikipedia entry Classless
+ * Inter-Domain Routing.
+ * IPv6 addresses can be represented using any of the following formats:
+ *
+ * You use an IPSet
to specify which web requests you want to allow or
+ * block based on the IP addresses that the requests originated from. For example, if you're
+ * receiving a lot of requests from one or a small number of IP addresses and you want to
+ * block the requests, you can create an IPSet
that specifies those IP addresses,
+ * and then configure AWS WAF to block the requests.
+ * To create and configure an IPSet
, perform the following steps:
+ *
+ * -
+ *
Submit a CreateIPSet request.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide
+ * in the ChangeToken
parameter of an UpdateIPSet
+ * request.
+ *
+ * -
+ *
Submit an UpdateIPSet
request to specify the IP addresses that you
+ * want AWS WAF to watch for.
+ *
+ *
+ * When you update an IPSet
, you specify the IP addresses that you want to
+ * add and/or the IP addresses that you want to delete. If you want to change an IP address,
+ * you delete the existing IP address and add the new one.
+ * You can insert a maximum of 1000 addresses in a single
+ * request.
+ * For more information about how to use the AWS WAF API to allow or block HTTP
+ * requests, see the AWS WAF
+ * Developer Guide.
+ *
+ */
+ public updateIPSet(
+ args: UpdateIPSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateIPSet(
+ args: UpdateIPSetCommandInput,
+ cb: (err: any, data?: UpdateIPSetCommandOutput) => void
+ ): void;
+ public updateIPSet(
+ args: UpdateIPSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateIPSetCommandOutput) => void
+ ): void;
+ public updateIPSet(
+ args: UpdateIPSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateIPSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateIPSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateIPSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes Predicate objects in a rule and updates the
+ * RateLimit
in the rule.
+ * Each Predicate
object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests
+ * that you want to block or count. The RateLimit
specifies the number of
+ * requests every five minutes that triggers the rule.
+ * If you add more than one predicate to a RateBasedRule
, a request must
+ * match all the predicates and exceed the RateLimit
to be counted or blocked.
+ * For example, suppose you add the following to a RateBasedRule
:
+ *
+ * Further, you specify a
+ * RateLimit
of 15,000.
+ * You then add the RateBasedRule
to a WebACL
and specify that
+ * you want to block requests that satisfy the rule. For a request to be blocked, it must come
+ * from the IP address 192.0.2.44 and the User-Agent
header
+ * in the request must contain the value BadBot
. Further, requests that match
+ * these two conditions much be received at a rate of more than 15,000 every five minutes. If
+ * the rate drops below this limit, AWS WAF no longer blocks the requests.
+ *
+ * As a second example, suppose you want to limit requests to a particular page on your site. To do this, you could add the following to a
+ * RateBasedRule
:
+ *
+ *
+ *
+ * -
+ *
A ByteMatchSet
with FieldToMatch
of URI
+ *
+ *
+ * -
+ *
A PositionalConstraint
of STARTS_WITH
+ *
+ *
+ * -
+ *
A TargetString
of login
+ *
+ *
+ *
+ * Further, you specify a RateLimit
of 15,000.
+ * By adding this RateBasedRule
to a WebACL
, you could limit requests to your login page without affecting the rest of your site.
+ *
+ */
+ public updateRateBasedRule(
+ args: UpdateRateBasedRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateRateBasedRule(
+ args: UpdateRateBasedRuleCommandInput,
+ cb: (err: any, data?: UpdateRateBasedRuleCommandOutput) => void
+ ): void;
+ public updateRateBasedRule(
+ args: UpdateRateBasedRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateRateBasedRuleCommandOutput) => void
+ ): void;
+ public updateRateBasedRule(
+ args: UpdateRateBasedRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateRateBasedRuleCommandOutput) => void),
+ cb?: (err: any, data?: UpdateRateBasedRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateRateBasedRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes RegexMatchTuple objects (filters) in a RegexMatchSet. For each RegexMatchSetUpdate
object,
+ * you specify the following values:
+ *
+ * -
+ *
Whether to insert or delete the object from the array. If you want to change a RegexMatchSetUpdate
object,
+ * you delete the existing object and add a new one.
+ *
+ * -
+ *
The part of a web request that you want AWS WAF to inspectupdate, such as a query string or the value of the User-Agent
header.
+ *
+ * -
+ *
The identifier of the pattern (a regular expression) that you want AWS WAF to look for. For more information, see RegexPatternSet.
+ *
+ * -
+ *
Whether to perform any conversions on the request, such as converting it to lowercase, before inspecting it for the specified string.
+ *
+ *
+ * For example, you can create a RegexPatternSet
that matches any requests with User-Agent
headers
+ * that contain the string B[a@]dB[o0]t
. You can then configure AWS WAF to reject those requests.
+ * To create and configure a RegexMatchSet
, perform the following steps:
+ *
+ * -
+ *
Create a RegexMatchSet.
For more information, see CreateRegexMatchSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateRegexMatchSet
request.
+ *
+ * -
+ *
Submit an UpdateRegexMatchSet
request to specify the part of the request that you want AWS WAF to inspect
+ * (for example, the header or the URI) and the identifier of the RegexPatternSet
that contain the regular expression patters you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateRegexMatchSet(
+ args: UpdateRegexMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateRegexMatchSet(
+ args: UpdateRegexMatchSetCommandInput,
+ cb: (err: any, data?: UpdateRegexMatchSetCommandOutput) => void
+ ): void;
+ public updateRegexMatchSet(
+ args: UpdateRegexMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateRegexMatchSetCommandOutput) => void
+ ): void;
+ public updateRegexMatchSet(
+ args: UpdateRegexMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateRegexMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateRegexMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateRegexMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes RegexPatternString
objects in a RegexPatternSet. For each RegexPatternString
object,
+ * you specify the following values:
+ *
+ * -
+ *
Whether to insert or delete the RegexPatternString
.
+ *
+ * -
+ *
The regular expression pattern that you want to insert or delete. For more information, see RegexPatternSet.
+ *
+ *
+ * For example, you can create a RegexPatternString
such as B[a@]dB[o0]t
. AWS WAF will match this RegexPatternString
to:
+ *
+ * -
+ *
BadBot
+ *
+ * -
+ *
BadB0t
+ *
+ * -
+ *
B@dBot
+ *
+ * -
+ *
B@dB0t
+ *
+ *
+ * To create and configure a RegexPatternSet
, perform the following steps:
+ *
+ * -
+ *
Create a RegexPatternSet.
For more information, see CreateRegexPatternSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateRegexPatternSet
request.
+ *
+ * -
+ *
Submit an UpdateRegexPatternSet
request to specify the regular expression pattern that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateRegexPatternSet(
+ args: UpdateRegexPatternSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateRegexPatternSet(
+ args: UpdateRegexPatternSetCommandInput,
+ cb: (err: any, data?: UpdateRegexPatternSetCommandOutput) => void
+ ): void;
+ public updateRegexPatternSet(
+ args: UpdateRegexPatternSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateRegexPatternSetCommandOutput) => void
+ ): void;
+ public updateRegexPatternSet(
+ args: UpdateRegexPatternSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateRegexPatternSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateRegexPatternSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateRegexPatternSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes Predicate objects in a Rule
. Each
+ * Predicate
object identifies a predicate, such as a ByteMatchSet or an IPSet, that specifies the web requests
+ * that you want to allow, block, or count. If you add more than one predicate to a
+ * Rule
, a request must match all of the specifications to be allowed,
+ * blocked, or counted. For example, suppose
+ * that
+ * you add the following to a Rule
:
+ *
+ * You then add the Rule
to a WebACL
and specify that you want to block requests that satisfy the Rule
.
+ * For a request to be blocked, the User-Agent
header in the request must contain the value BadBot
+ * and the request must originate from the IP address 192.0.2.44.
+ * To create and configure a Rule
, perform the following steps:
+ *
+ * -
+ *
Create and update the predicates that you want to include in the Rule
.
+ *
+ * -
+ *
Create the Rule
. See CreateRule.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateRule request.
+ *
+ * -
+ *
Submit an UpdateRule
request to add predicates to the Rule
.
+ *
+ * -
+ *
Create and update a WebACL
that contains the Rule
. See CreateWebACL.
+ *
+ *
+ * If you want to replace one ByteMatchSet
or IPSet
with another, you delete the existing one and
+ * add the new one.
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateRule(
+ args: UpdateRuleCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateRule(
+ args: UpdateRuleCommandInput,
+ cb: (err: any, data?: UpdateRuleCommandOutput) => void
+ ): void;
+ public updateRule(
+ args: UpdateRuleCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateRuleCommandOutput) => void
+ ): void;
+ public updateRule(
+ args: UpdateRuleCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateRuleCommandOutput) => void),
+ cb?: (err: any, data?: UpdateRuleCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateRuleCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes ActivatedRule objects in a RuleGroup
.
+ * You can only insert REGULAR
rules into a rule group.
+ * You can have a maximum of ten rules per rule group.
+ *
+ *
+ * To create and configure a RuleGroup
, perform the following steps:
+ *
+ * -
+ *
Create and update the Rules
that you want to include in the RuleGroup
. See CreateRule.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateRuleGroup request.
+ *
+ * -
+ *
Submit an UpdateRuleGroup
request to add Rules
to the RuleGroup
.
+ *
+ * -
+ *
Create and update a WebACL
that contains the RuleGroup
. See CreateWebACL.
+ *
+ *
+ * If you want to replace one Rule
with another, you delete the existing one and
+ * add the new one.
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateRuleGroup(
+ args: UpdateRuleGroupCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateRuleGroup(
+ args: UpdateRuleGroupCommandInput,
+ cb: (err: any, data?: UpdateRuleGroupCommandOutput) => void
+ ): void;
+ public updateRuleGroup(
+ args: UpdateRuleGroupCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateRuleGroupCommandOutput) => void
+ ): void;
+ public updateRuleGroup(
+ args: UpdateRuleGroupCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateRuleGroupCommandOutput) => void),
+ cb?: (err: any, data?: UpdateRuleGroupCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateRuleGroupCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes SizeConstraint objects (filters) in a SizeConstraintSet. For each SizeConstraint
object,
+ * you specify the following values:
+ *
+ * -
+ *
Whether to insert or delete the object from the array. If you want to change a SizeConstraintSetUpdate
object,
+ * you delete the existing object and add a new one.
+ *
+ * -
+ *
The part of a web request that you want AWS WAF to evaluate, such as the length of a query string or the length of the
+ * User-Agent
header.
+ *
+ * -
+ *
Whether to perform any transformations on the request, such as converting it to lowercase, before checking its length.
+ * Note that transformations of the request body are not supported because the AWS resource forwards only the first 8192
bytes
+ * of your request to AWS WAF.
+ * You can only specify a single type of TextTransformation.
+ *
+ * -
+ *
A ComparisonOperator
used for evaluating the selected part of the request against the specified Size
, such as
+ * equals, greater than, less than, and so on.
+ *
+ * -
+ *
The length, in bytes, that you want AWS WAF to watch for in selected part of the request. The length is computed after applying the transformation.
+ *
+ *
+ * For example, you can add a SizeConstraintSetUpdate
object that matches web requests in which the length of the
+ * User-Agent
header is greater than 100 bytes. You can then configure AWS WAF to block those requests.
+ * To create and configure a SizeConstraintSet
, perform the following steps:
+ *
+ * -
+ *
Create a SizeConstraintSet.
For more information, see CreateSizeConstraintSet.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateSizeConstraintSet
request.
+ *
+ * -
+ *
Submit an UpdateSizeConstraintSet
request to specify the part of the request that you want AWS WAF to inspect
+ * (for example, the header or the URI) and the value that you want AWS WAF to watch for.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateSizeConstraintSet(
+ args: UpdateSizeConstraintSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateSizeConstraintSet(
+ args: UpdateSizeConstraintSetCommandInput,
+ cb: (err: any, data?: UpdateSizeConstraintSetCommandOutput) => void
+ ): void;
+ public updateSizeConstraintSet(
+ args: UpdateSizeConstraintSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateSizeConstraintSetCommandOutput) => void
+ ): void;
+ public updateSizeConstraintSet(
+ args: UpdateSizeConstraintSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateSizeConstraintSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateSizeConstraintSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateSizeConstraintSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes SqlInjectionMatchTuple objects (filters) in a SqlInjectionMatchSet.
+ * For each SqlInjectionMatchTuple
object, you specify the following values:
+ *
+ * -
+ *
+ * Action
: Whether to insert the object into or delete the object from the array. To change a
+ * SqlInjectionMatchTuple
, you delete the existing object and add a new one.
+ *
+ * -
+ *
+ * FieldToMatch
: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter,
+ * the name of the header or parameter.
+ *
+ * -
+ *
+ * TextTransformation
: Which text transformation, if any, to perform on the web request before
+ * inspecting the request for snippets of malicious SQL code.
+ * You can only specify a single type of TextTransformation.
+ *
+ *
+ * You use SqlInjectionMatchSet
objects to specify which CloudFront
+ * requests that
+ * you want to allow, block, or count. For example, if you're receiving
+ * requests that contain snippets of SQL code in the query string and you want to block the
+ * requests, you can create a SqlInjectionMatchSet
with the applicable settings,
+ * and then configure AWS WAF to block the requests.
+ * To create and configure a SqlInjectionMatchSet
, perform the following steps:
+ *
+ * -
+ *
Submit a CreateSqlInjectionMatchSet request.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateIPSet request.
+ *
+ * -
+ *
Submit an UpdateSqlInjectionMatchSet
request to specify the parts of web requests that you want AWS WAF to
+ * inspect for snippets of SQL code.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateSqlInjectionMatchSet(
+ args: UpdateSqlInjectionMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateSqlInjectionMatchSet(
+ args: UpdateSqlInjectionMatchSetCommandInput,
+ cb: (err: any, data?: UpdateSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public updateSqlInjectionMatchSet(
+ args: UpdateSqlInjectionMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateSqlInjectionMatchSetCommandOutput) => void
+ ): void;
+ public updateSqlInjectionMatchSet(
+ args: UpdateSqlInjectionMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateSqlInjectionMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateSqlInjectionMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateSqlInjectionMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes ActivatedRule objects in a WebACL
. Each Rule
identifies
+ * web requests that you want to allow, block, or count. When you update a WebACL
, you specify the following values:
+ *
+ * -
+ *
A default action for the WebACL
, either ALLOW
or BLOCK
.
+ * AWS WAF performs the default action if a request doesn't match the criteria in any of the Rules
in a WebACL
.
+ *
+ * -
+ *
The Rules
that you want to add
+ * or
+ * delete. If you want to replace one Rule
with another, you delete the
+ * existing Rule
and add the new one.
+ *
+ * -
+ *
For each Rule
, whether you want AWS WAF to allow requests, block requests, or count requests that match
+ * the conditions in the Rule
.
+ *
+ * -
+ *
The order in which you want AWS WAF to evaluate the Rules
in a
+ * WebACL
. If you add more than one Rule
to a
+ * WebACL
, AWS WAF evaluates each request against the Rules
+ * in order based on the value of Priority
. (The Rule
that has
+ * the lowest value for Priority
is evaluated first.) When a web request
+ * matches all
+ * the
+ * predicates (such as ByteMatchSets
and IPSets
) in a
+ * Rule
, AWS WAF immediately takes the corresponding action, allow or
+ * block, and doesn't evaluate the request against the remaining Rules
in
+ * the WebACL
, if any.
+ *
+ *
+ *
+ * To create and configure a WebACL
, perform the following steps:
+ *
+ * -
+ *
Create and update the predicates that you want to include in Rules
.
+ * For more information, see CreateByteMatchSet, UpdateByteMatchSet, CreateIPSet, UpdateIPSet,
+ * CreateSqlInjectionMatchSet, and UpdateSqlInjectionMatchSet.
+ *
+ * -
+ *
Create and update the Rules
that you want to include in the WebACL
. For more information, see
+ * CreateRule and UpdateRule.
+ *
+ * -
+ *
Create a WebACL
. See CreateWebACL.
+ *
+ * -
+ *
Use GetChangeToken
to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateWebACL request.
+ *
+ * -
+ *
Submit an UpdateWebACL
request to specify the Rules
+ * that you want to include in the WebACL
, to specify the default action,
+ * and to associate the WebACL
with a CloudFront distribution.
+ * The ActivatedRule
can be a rule group. If you specify a rule group
+ * as your
+ * ActivatedRule
,
+ * you can exclude specific rules from that rule group.
+ * If you already have a rule group associated with a web ACL and want to submit
+ * an UpdateWebACL
request to exclude certain rules from that rule group,
+ * you must first remove the rule group from the web ACL, the re-insert it again,
+ * specifying the excluded rules.
+ * For details,
+ * see
+ * ActivatedRule$ExcludedRules.
+ *
+ *
+ *
+ * Be aware that if you try to add a RATE_BASED rule to a web ACL without setting the rule type when first creating the rule, the UpdateWebACL request will fail because the request tries to add a REGULAR rule (the default rule type) with the specified ID, which does not exist.
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the AWS WAF Developer Guide.
+ *
+ */
+ public updateWebACL(
+ args: UpdateWebACLCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateWebACL(
+ args: UpdateWebACLCommandInput,
+ cb: (err: any, data?: UpdateWebACLCommandOutput) => void
+ ): void;
+ public updateWebACL(
+ args: UpdateWebACLCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateWebACLCommandOutput) => void
+ ): void;
+ public updateWebACL(
+ args: UpdateWebACLCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateWebACLCommandOutput) => void),
+ cb?: (err: any, data?: UpdateWebACLCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateWebACLCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+
+ /**
+ *
+ * Inserts or deletes XssMatchTuple objects (filters) in an XssMatchSet.
+ * For each XssMatchTuple
object, you specify the following values:
+ *
+ * -
+ *
+ * Action
: Whether to insert the object into or delete the object from the
+ * array. To change an
+ * XssMatchTuple
, you delete the existing object and add a new
+ * one.
+ *
+ * -
+ *
+ * FieldToMatch
: The part of web requests that you want AWS WAF to inspect and, if you want AWS WAF to inspect a header or custom query parameter,
+ * the name of the header or parameter.
+ *
+ * -
+ *
+ * TextTransformation
: Which text transformation, if any, to perform on the web request before
+ * inspecting the request for cross-site scripting attacks.
+ * You can only specify a single type of TextTransformation.
+ *
+ *
+ * You use XssMatchSet
objects to specify which CloudFront requests
+ * that
+ * you want to allow, block, or count. For example, if you're receiving
+ * requests that contain cross-site scripting attacks in the request body and you want to
+ * block the requests, you can create an XssMatchSet
with the applicable
+ * settings, and then configure AWS WAF to block the requests.
+ * To create and configure an XssMatchSet
, perform the following steps:
+ *
+ * -
+ *
Submit a CreateXssMatchSet request.
+ *
+ * -
+ *
Use GetChangeToken to get the change token that you provide in the ChangeToken
parameter of an
+ * UpdateIPSet request.
+ *
+ * -
+ *
Submit an UpdateXssMatchSet
request to specify the parts of web requests that you want AWS WAF to
+ * inspect for cross-site scripting attacks.
+ *
+ *
+ * For more information about how to use the AWS WAF API to allow or block HTTP requests, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+ public updateXssMatchSet(
+ args: UpdateXssMatchSetCommandInput,
+ options?: __HttpHandlerOptions
+ ): Promise;
+ public updateXssMatchSet(
+ args: UpdateXssMatchSetCommandInput,
+ cb: (err: any, data?: UpdateXssMatchSetCommandOutput) => void
+ ): void;
+ public updateXssMatchSet(
+ args: UpdateXssMatchSetCommandInput,
+ options: __HttpHandlerOptions,
+ cb: (err: any, data?: UpdateXssMatchSetCommandOutput) => void
+ ): void;
+ public updateXssMatchSet(
+ args: UpdateXssMatchSetCommandInput,
+ optionsOrCb?:
+ | __HttpHandlerOptions
+ | ((err: any, data?: UpdateXssMatchSetCommandOutput) => void),
+ cb?: (err: any, data?: UpdateXssMatchSetCommandOutput) => void
+ ): Promise | void {
+ const command = new UpdateXssMatchSetCommand(args);
+ if (typeof optionsOrCb === "function") {
+ this.send(command, optionsOrCb);
+ } else if (typeof cb === "function") {
+ if (typeof optionsOrCb !== "object")
+ throw new Error(`Expect http options but get ${typeof optionsOrCb}`);
+ this.send(command, optionsOrCb || {}, cb);
+ } else {
+ return this.send(command, optionsOrCb);
+ }
+ }
+}
diff --git a/clients/client-waf-regional/WAFRegionalClient.ts b/clients/client-waf-regional/WAFRegionalClient.ts
new file mode 100644
index 000000000000..1c4716928256
--- /dev/null
+++ b/clients/client-waf-regional/WAFRegionalClient.ts
@@ -0,0 +1,515 @@
+import {
+ AssociateWebACLRequest,
+ AssociateWebACLResponse,
+ CreateByteMatchSetRequest,
+ CreateByteMatchSetResponse,
+ CreateGeoMatchSetRequest,
+ CreateGeoMatchSetResponse,
+ CreateIPSetRequest,
+ CreateIPSetResponse,
+ CreateRateBasedRuleRequest,
+ CreateRateBasedRuleResponse,
+ CreateRegexMatchSetRequest,
+ CreateRegexMatchSetResponse,
+ CreateRegexPatternSetRequest,
+ CreateRegexPatternSetResponse,
+ CreateRuleGroupRequest,
+ CreateRuleGroupResponse,
+ CreateRuleRequest,
+ CreateRuleResponse,
+ CreateSizeConstraintSetRequest,
+ CreateSizeConstraintSetResponse,
+ CreateSqlInjectionMatchSetRequest,
+ CreateSqlInjectionMatchSetResponse,
+ CreateWebACLRequest,
+ CreateWebACLResponse,
+ CreateXssMatchSetRequest,
+ CreateXssMatchSetResponse,
+ DeleteByteMatchSetRequest,
+ DeleteByteMatchSetResponse,
+ DeleteGeoMatchSetRequest,
+ DeleteGeoMatchSetResponse,
+ DeleteIPSetRequest,
+ DeleteIPSetResponse,
+ DeleteLoggingConfigurationRequest,
+ DeleteLoggingConfigurationResponse,
+ DeletePermissionPolicyRequest,
+ DeletePermissionPolicyResponse,
+ DeleteRateBasedRuleRequest,
+ DeleteRateBasedRuleResponse,
+ DeleteRegexMatchSetRequest,
+ DeleteRegexMatchSetResponse,
+ DeleteRegexPatternSetRequest,
+ DeleteRegexPatternSetResponse,
+ DeleteRuleGroupRequest,
+ DeleteRuleGroupResponse,
+ DeleteRuleRequest,
+ DeleteRuleResponse,
+ DeleteSizeConstraintSetRequest,
+ DeleteSizeConstraintSetResponse,
+ DeleteSqlInjectionMatchSetRequest,
+ DeleteSqlInjectionMatchSetResponse,
+ DeleteWebACLRequest,
+ DeleteWebACLResponse,
+ DeleteXssMatchSetRequest,
+ DeleteXssMatchSetResponse,
+ DisassociateWebACLRequest,
+ DisassociateWebACLResponse,
+ GetByteMatchSetRequest,
+ GetByteMatchSetResponse,
+ GetChangeTokenRequest,
+ GetChangeTokenResponse,
+ GetChangeTokenStatusRequest,
+ GetChangeTokenStatusResponse,
+ GetGeoMatchSetRequest,
+ GetGeoMatchSetResponse,
+ GetIPSetRequest,
+ GetIPSetResponse,
+ GetLoggingConfigurationRequest,
+ GetLoggingConfigurationResponse,
+ GetPermissionPolicyRequest,
+ GetPermissionPolicyResponse,
+ GetRateBasedRuleManagedKeysRequest,
+ GetRateBasedRuleManagedKeysResponse,
+ GetRateBasedRuleRequest,
+ GetRateBasedRuleResponse,
+ GetRegexMatchSetRequest,
+ GetRegexMatchSetResponse,
+ GetRegexPatternSetRequest,
+ GetRegexPatternSetResponse,
+ GetRuleGroupRequest,
+ GetRuleGroupResponse,
+ GetRuleRequest,
+ GetRuleResponse,
+ GetSampledRequestsRequest,
+ GetSampledRequestsResponse,
+ GetSizeConstraintSetRequest,
+ GetSizeConstraintSetResponse,
+ GetSqlInjectionMatchSetRequest,
+ GetSqlInjectionMatchSetResponse,
+ GetWebACLForResourceRequest,
+ GetWebACLForResourceResponse,
+ GetWebACLRequest,
+ GetWebACLResponse,
+ GetXssMatchSetRequest,
+ GetXssMatchSetResponse,
+ ListActivatedRulesInRuleGroupRequest,
+ ListActivatedRulesInRuleGroupResponse,
+ ListByteMatchSetsRequest,
+ ListByteMatchSetsResponse,
+ ListGeoMatchSetsRequest,
+ ListGeoMatchSetsResponse,
+ ListIPSetsRequest,
+ ListIPSetsResponse,
+ ListLoggingConfigurationsRequest,
+ ListLoggingConfigurationsResponse,
+ ListRateBasedRulesRequest,
+ ListRateBasedRulesResponse,
+ ListRegexMatchSetsRequest,
+ ListRegexMatchSetsResponse,
+ ListRegexPatternSetsRequest,
+ ListRegexPatternSetsResponse,
+ ListResourcesForWebACLRequest,
+ ListResourcesForWebACLResponse,
+ ListRuleGroupsRequest,
+ ListRuleGroupsResponse,
+ ListRulesRequest,
+ ListRulesResponse,
+ ListSizeConstraintSetsRequest,
+ ListSizeConstraintSetsResponse,
+ ListSqlInjectionMatchSetsRequest,
+ ListSqlInjectionMatchSetsResponse,
+ ListSubscribedRuleGroupsRequest,
+ ListSubscribedRuleGroupsResponse,
+ ListTagsForResourceRequest,
+ ListTagsForResourceResponse,
+ ListWebACLsRequest,
+ ListWebACLsResponse,
+ ListXssMatchSetsRequest,
+ ListXssMatchSetsResponse,
+ PutLoggingConfigurationRequest,
+ PutLoggingConfigurationResponse,
+ PutPermissionPolicyRequest,
+ PutPermissionPolicyResponse,
+ TagResourceRequest,
+ TagResourceResponse,
+ UntagResourceRequest,
+ UntagResourceResponse,
+ UpdateByteMatchSetRequest,
+ UpdateByteMatchSetResponse,
+ UpdateGeoMatchSetRequest,
+ UpdateGeoMatchSetResponse,
+ UpdateIPSetRequest,
+ UpdateIPSetResponse,
+ UpdateRateBasedRuleRequest,
+ UpdateRateBasedRuleResponse,
+ UpdateRegexMatchSetRequest,
+ UpdateRegexMatchSetResponse,
+ UpdateRegexPatternSetRequest,
+ UpdateRegexPatternSetResponse,
+ UpdateRuleGroupRequest,
+ UpdateRuleGroupResponse,
+ UpdateRuleRequest,
+ UpdateRuleResponse,
+ UpdateSizeConstraintSetRequest,
+ UpdateSizeConstraintSetResponse,
+ UpdateSqlInjectionMatchSetRequest,
+ UpdateSqlInjectionMatchSetResponse,
+ UpdateWebACLRequest,
+ UpdateWebACLResponse,
+ UpdateXssMatchSetRequest,
+ UpdateXssMatchSetResponse
+} from "./models/index";
+import { ClientDefaultValues as __ClientDefaultValues } from "./runtimeConfig";
+import {
+ EndpointsInputConfig,
+ EndpointsResolvedConfig,
+ RegionInputConfig,
+ RegionResolvedConfig,
+ resolveEndpointsConfig,
+ resolveRegionConfig
+} from "@aws-sdk/config-resolver";
+import { getContentLengthPlugin } from "@aws-sdk/middleware-content-length";
+import {
+ HostHeaderInputConfig,
+ HostHeaderResolvedConfig,
+ getHostHeaderPlugin,
+ resolveHostHeaderConfig
+} from "@aws-sdk/middleware-host-header";
+import {
+ RetryInputConfig,
+ RetryResolvedConfig,
+ getRetryPlugin,
+ resolveRetryConfig
+} from "@aws-sdk/middleware-retry";
+import {
+ AwsAuthInputConfig,
+ AwsAuthResolvedConfig,
+ getAwsAuthPlugin,
+ resolveAwsAuthConfig
+} from "@aws-sdk/middleware-signing";
+import {
+ UserAgentInputConfig,
+ UserAgentResolvedConfig,
+ getUserAgentPlugin,
+ resolveUserAgentConfig
+} from "@aws-sdk/middleware-user-agent";
+import { HttpHandler as __HttpHandler } from "@aws-sdk/protocol-http";
+import {
+ Client as __Client,
+ SmithyConfiguration as __SmithyConfiguration,
+ SmithyResolvedConfiguration as __SmithyResolvedConfiguration
+} from "@aws-sdk/smithy-client";
+import {
+ RegionInfoProvider,
+ Credentials as __Credentials,
+ Decoder as __Decoder,
+ Encoder as __Encoder,
+ HashConstructor as __HashConstructor,
+ HttpHandlerOptions as __HttpHandlerOptions,
+ Provider as __Provider,
+ StreamCollector as __StreamCollector,
+ UrlParser as __UrlParser
+} from "@aws-sdk/types";
+
+export type ServiceInputTypes =
+ | AssociateWebACLRequest
+ | CreateByteMatchSetRequest
+ | CreateGeoMatchSetRequest
+ | CreateIPSetRequest
+ | CreateRateBasedRuleRequest
+ | CreateRegexMatchSetRequest
+ | CreateRegexPatternSetRequest
+ | CreateRuleGroupRequest
+ | CreateRuleRequest
+ | CreateSizeConstraintSetRequest
+ | CreateSqlInjectionMatchSetRequest
+ | CreateWebACLRequest
+ | CreateXssMatchSetRequest
+ | DeleteByteMatchSetRequest
+ | DeleteGeoMatchSetRequest
+ | DeleteIPSetRequest
+ | DeleteLoggingConfigurationRequest
+ | DeletePermissionPolicyRequest
+ | DeleteRateBasedRuleRequest
+ | DeleteRegexMatchSetRequest
+ | DeleteRegexPatternSetRequest
+ | DeleteRuleGroupRequest
+ | DeleteRuleRequest
+ | DeleteSizeConstraintSetRequest
+ | DeleteSqlInjectionMatchSetRequest
+ | DeleteWebACLRequest
+ | DeleteXssMatchSetRequest
+ | DisassociateWebACLRequest
+ | GetByteMatchSetRequest
+ | GetChangeTokenRequest
+ | GetChangeTokenStatusRequest
+ | GetGeoMatchSetRequest
+ | GetIPSetRequest
+ | GetLoggingConfigurationRequest
+ | GetPermissionPolicyRequest
+ | GetRateBasedRuleManagedKeysRequest
+ | GetRateBasedRuleRequest
+ | GetRegexMatchSetRequest
+ | GetRegexPatternSetRequest
+ | GetRuleGroupRequest
+ | GetRuleRequest
+ | GetSampledRequestsRequest
+ | GetSizeConstraintSetRequest
+ | GetSqlInjectionMatchSetRequest
+ | GetWebACLForResourceRequest
+ | GetWebACLRequest
+ | GetXssMatchSetRequest
+ | ListActivatedRulesInRuleGroupRequest
+ | ListByteMatchSetsRequest
+ | ListGeoMatchSetsRequest
+ | ListIPSetsRequest
+ | ListLoggingConfigurationsRequest
+ | ListRateBasedRulesRequest
+ | ListRegexMatchSetsRequest
+ | ListRegexPatternSetsRequest
+ | ListResourcesForWebACLRequest
+ | ListRuleGroupsRequest
+ | ListRulesRequest
+ | ListSizeConstraintSetsRequest
+ | ListSqlInjectionMatchSetsRequest
+ | ListSubscribedRuleGroupsRequest
+ | ListTagsForResourceRequest
+ | ListWebACLsRequest
+ | ListXssMatchSetsRequest
+ | PutLoggingConfigurationRequest
+ | PutPermissionPolicyRequest
+ | TagResourceRequest
+ | UntagResourceRequest
+ | UpdateByteMatchSetRequest
+ | UpdateGeoMatchSetRequest
+ | UpdateIPSetRequest
+ | UpdateRateBasedRuleRequest
+ | UpdateRegexMatchSetRequest
+ | UpdateRegexPatternSetRequest
+ | UpdateRuleGroupRequest
+ | UpdateRuleRequest
+ | UpdateSizeConstraintSetRequest
+ | UpdateSqlInjectionMatchSetRequest
+ | UpdateWebACLRequest
+ | UpdateXssMatchSetRequest;
+
+export type ServiceOutputTypes =
+ | AssociateWebACLResponse
+ | CreateByteMatchSetResponse
+ | CreateGeoMatchSetResponse
+ | CreateIPSetResponse
+ | CreateRateBasedRuleResponse
+ | CreateRegexMatchSetResponse
+ | CreateRegexPatternSetResponse
+ | CreateRuleGroupResponse
+ | CreateRuleResponse
+ | CreateSizeConstraintSetResponse
+ | CreateSqlInjectionMatchSetResponse
+ | CreateWebACLResponse
+ | CreateXssMatchSetResponse
+ | DeleteByteMatchSetResponse
+ | DeleteGeoMatchSetResponse
+ | DeleteIPSetResponse
+ | DeleteLoggingConfigurationResponse
+ | DeletePermissionPolicyResponse
+ | DeleteRateBasedRuleResponse
+ | DeleteRegexMatchSetResponse
+ | DeleteRegexPatternSetResponse
+ | DeleteRuleGroupResponse
+ | DeleteRuleResponse
+ | DeleteSizeConstraintSetResponse
+ | DeleteSqlInjectionMatchSetResponse
+ | DeleteWebACLResponse
+ | DeleteXssMatchSetResponse
+ | DisassociateWebACLResponse
+ | GetByteMatchSetResponse
+ | GetChangeTokenResponse
+ | GetChangeTokenStatusResponse
+ | GetGeoMatchSetResponse
+ | GetIPSetResponse
+ | GetLoggingConfigurationResponse
+ | GetPermissionPolicyResponse
+ | GetRateBasedRuleManagedKeysResponse
+ | GetRateBasedRuleResponse
+ | GetRegexMatchSetResponse
+ | GetRegexPatternSetResponse
+ | GetRuleGroupResponse
+ | GetRuleResponse
+ | GetSampledRequestsResponse
+ | GetSizeConstraintSetResponse
+ | GetSqlInjectionMatchSetResponse
+ | GetWebACLForResourceResponse
+ | GetWebACLResponse
+ | GetXssMatchSetResponse
+ | ListActivatedRulesInRuleGroupResponse
+ | ListByteMatchSetsResponse
+ | ListGeoMatchSetsResponse
+ | ListIPSetsResponse
+ | ListLoggingConfigurationsResponse
+ | ListRateBasedRulesResponse
+ | ListRegexMatchSetsResponse
+ | ListRegexPatternSetsResponse
+ | ListResourcesForWebACLResponse
+ | ListRuleGroupsResponse
+ | ListRulesResponse
+ | ListSizeConstraintSetsResponse
+ | ListSqlInjectionMatchSetsResponse
+ | ListSubscribedRuleGroupsResponse
+ | ListTagsForResourceResponse
+ | ListWebACLsResponse
+ | ListXssMatchSetsResponse
+ | PutLoggingConfigurationResponse
+ | PutPermissionPolicyResponse
+ | TagResourceResponse
+ | UntagResourceResponse
+ | UpdateByteMatchSetResponse
+ | UpdateGeoMatchSetResponse
+ | UpdateIPSetResponse
+ | UpdateRateBasedRuleResponse
+ | UpdateRegexMatchSetResponse
+ | UpdateRegexPatternSetResponse
+ | UpdateRuleGroupResponse
+ | UpdateRuleResponse
+ | UpdateSizeConstraintSetResponse
+ | UpdateSqlInjectionMatchSetResponse
+ | UpdateWebACLResponse
+ | UpdateXssMatchSetResponse;
+
+export interface ClientDefaults
+ extends Partial<__SmithyResolvedConfiguration<__HttpHandlerOptions>> {
+ /**
+ * The HTTP handler to use. Fetch in browser and Https in Nodejs.
+ */
+ requestHandler?: __HttpHandler;
+
+ /**
+ * A constructor for a class implementing the @aws-sdk/types.Hash interface
+ * that computes the SHA-256 HMAC or checksum of a string or binary buffer.
+ */
+ sha256?: __HashConstructor;
+
+ /**
+ * The function that will be used to convert strings into HTTP endpoints.
+ */
+ urlParser?: __UrlParser;
+
+ /**
+ * A function that can calculate the length of a request body.
+ */
+ bodyLengthChecker?: (body: any) => number | undefined;
+
+ /**
+ * A function that converts a stream into an array of bytes.
+ */
+ streamCollector?: __StreamCollector;
+
+ /**
+ * The function that will be used to convert a base64-encoded string to a byte array
+ */
+ base64Decoder?: __Decoder;
+
+ /**
+ * The function that will be used to convert binary data to a base64-encoded string
+ */
+ base64Encoder?: __Encoder;
+
+ /**
+ * The function that will be used to convert a UTF8-encoded string to a byte array
+ */
+ utf8Decoder?: __Decoder;
+
+ /**
+ * The function that will be used to convert binary data to a UTF-8 encoded string
+ */
+ utf8Encoder?: __Encoder;
+
+ /**
+ * The string that will be used to populate default value in 'User-Agent' header
+ */
+ defaultUserAgent?: string;
+
+ /**
+ * The runtime environment
+ */
+ runtime?: string;
+
+ /**
+ * The service name with which to sign requests.
+ */
+ signingName?: string;
+
+ /**
+ * Default credentials provider; Not available in browser runtime
+ */
+ credentialDefaultProvider?: (input: any) => __Provider<__Credentials>;
+
+ /**
+ * Provider function that return promise of a region string
+ */
+ regionDefaultProvider?: (input: any) => __Provider;
+
+ /**
+ * Fetch related hostname, signing name or signing region with given region.
+ */
+ regionInfoProvider?: RegionInfoProvider;
+}
+
+export type WAFRegionalClientConfig = Partial<
+ __SmithyConfiguration<__HttpHandlerOptions>
+> &
+ ClientDefaults &
+ RegionInputConfig &
+ EndpointsInputConfig &
+ AwsAuthInputConfig &
+ RetryInputConfig &
+ UserAgentInputConfig &
+ HostHeaderInputConfig;
+
+export type WAFRegionalClientResolvedConfig = __SmithyResolvedConfiguration<
+ __HttpHandlerOptions
+> &
+ Required &
+ RegionResolvedConfig &
+ EndpointsResolvedConfig &
+ AwsAuthResolvedConfig &
+ RetryResolvedConfig &
+ UserAgentResolvedConfig &
+ HostHeaderResolvedConfig;
+
+/**
+ *
+ * This is the AWS WAF Regional API Reference for using AWS WAF with Elastic Load Balancing (ELB) Application Load Balancers. The AWS WAF actions and data types listed in the reference are available for protecting Application Load Balancers. You can use these actions and data types by means of the endpoints listed in AWS Regions and Endpoints. This guide is for developers who need detailed information about the AWS WAF API actions, data types, and errors. For detailed information about AWS WAF features and an overview of how to use the AWS WAF API, see the
+ * AWS WAF Developer Guide.
+ *
+ */
+export class WAFRegionalClient extends __Client<
+ __HttpHandlerOptions,
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+> {
+ readonly config: WAFRegionalClientResolvedConfig;
+
+ constructor(configuration: WAFRegionalClientConfig) {
+ let _config_0 = {
+ ...__ClientDefaultValues,
+ ...configuration
+ };
+ let _config_1 = resolveRegionConfig(_config_0);
+ let _config_2 = resolveEndpointsConfig(_config_1);
+ let _config_3 = resolveAwsAuthConfig(_config_2);
+ let _config_4 = resolveRetryConfig(_config_3);
+ let _config_5 = resolveUserAgentConfig(_config_4);
+ let _config_6 = resolveHostHeaderConfig(_config_5);
+ super(_config_6);
+ this.config = _config_6;
+ this.middlewareStack.use(getAwsAuthPlugin(this.config));
+ this.middlewareStack.use(getRetryPlugin(this.config));
+ this.middlewareStack.use(getUserAgentPlugin(this.config));
+ this.middlewareStack.use(getContentLengthPlugin(this.config));
+ this.middlewareStack.use(getHostHeaderPlugin(this.config));
+ }
+
+ destroy(): void {}
+}
diff --git a/clients/client-waf-regional/commands/AssociateWebACLCommand.ts b/clients/client-waf-regional/commands/AssociateWebACLCommand.ts
new file mode 100644
index 000000000000..01a195b80a89
--- /dev/null
+++ b/clients/client-waf-regional/commands/AssociateWebACLCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ AssociateWebACLRequest,
+ AssociateWebACLResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1AssociateWebACLCommand,
+ serializeAws_json1_1AssociateWebACLCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type AssociateWebACLCommandInput = AssociateWebACLRequest;
+export type AssociateWebACLCommandOutput = AssociateWebACLResponse;
+
+export class AssociateWebACLCommand extends $Command<
+ AssociateWebACLCommandInput,
+ AssociateWebACLCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: AssociateWebACLCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: AssociateWebACLCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1AssociateWebACLCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1AssociateWebACLCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateByteMatchSetCommand.ts b/clients/client-waf-regional/commands/CreateByteMatchSetCommand.ts
new file mode 100644
index 000000000000..bd3258241fc4
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateByteMatchSetCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateByteMatchSetRequest,
+ CreateByteMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateByteMatchSetCommand,
+ serializeAws_json1_1CreateByteMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateByteMatchSetCommandInput = CreateByteMatchSetRequest;
+export type CreateByteMatchSetCommandOutput = CreateByteMatchSetResponse;
+
+export class CreateByteMatchSetCommand extends $Command<
+ CreateByteMatchSetCommandInput,
+ CreateByteMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateByteMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateByteMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateByteMatchSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateByteMatchSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateGeoMatchSetCommand.ts b/clients/client-waf-regional/commands/CreateGeoMatchSetCommand.ts
new file mode 100644
index 000000000000..64ec0101f1ec
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateGeoMatchSetCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateGeoMatchSetRequest,
+ CreateGeoMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateGeoMatchSetCommand,
+ serializeAws_json1_1CreateGeoMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateGeoMatchSetCommandInput = CreateGeoMatchSetRequest;
+export type CreateGeoMatchSetCommandOutput = CreateGeoMatchSetResponse;
+
+export class CreateGeoMatchSetCommand extends $Command<
+ CreateGeoMatchSetCommandInput,
+ CreateGeoMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateGeoMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateGeoMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateGeoMatchSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateGeoMatchSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateIPSetCommand.ts b/clients/client-waf-regional/commands/CreateIPSetCommand.ts
new file mode 100644
index 000000000000..9b6ac7eb9d15
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateIPSetCommand.ts
@@ -0,0 +1,81 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import { CreateIPSetRequest, CreateIPSetResponse } from "../models/index";
+import {
+ deserializeAws_json1_1CreateIPSetCommand,
+ serializeAws_json1_1CreateIPSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateIPSetCommandInput = CreateIPSetRequest;
+export type CreateIPSetCommandOutput = CreateIPSetResponse;
+
+export class CreateIPSetCommand extends $Command<
+ CreateIPSetCommandInput,
+ CreateIPSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateIPSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateIPSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateIPSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateIPSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateRateBasedRuleCommand.ts b/clients/client-waf-regional/commands/CreateRateBasedRuleCommand.ts
new file mode 100644
index 000000000000..b6126e3eb3a2
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateRateBasedRuleCommand.ts
@@ -0,0 +1,87 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateRateBasedRuleRequest,
+ CreateRateBasedRuleResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateRateBasedRuleCommand,
+ serializeAws_json1_1CreateRateBasedRuleCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateRateBasedRuleCommandInput = CreateRateBasedRuleRequest;
+export type CreateRateBasedRuleCommandOutput = CreateRateBasedRuleResponse;
+
+export class CreateRateBasedRuleCommand extends $Command<
+ CreateRateBasedRuleCommandInput,
+ CreateRateBasedRuleCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateRateBasedRuleCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ CreateRateBasedRuleCommandInput,
+ CreateRateBasedRuleCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateRateBasedRuleCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateRateBasedRuleCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateRateBasedRuleCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateRegexMatchSetCommand.ts b/clients/client-waf-regional/commands/CreateRegexMatchSetCommand.ts
new file mode 100644
index 000000000000..dea0bf0f1d5b
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateRegexMatchSetCommand.ts
@@ -0,0 +1,87 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateRegexMatchSetRequest,
+ CreateRegexMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateRegexMatchSetCommand,
+ serializeAws_json1_1CreateRegexMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateRegexMatchSetCommandInput = CreateRegexMatchSetRequest;
+export type CreateRegexMatchSetCommandOutput = CreateRegexMatchSetResponse;
+
+export class CreateRegexMatchSetCommand extends $Command<
+ CreateRegexMatchSetCommandInput,
+ CreateRegexMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateRegexMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ CreateRegexMatchSetCommandInput,
+ CreateRegexMatchSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateRegexMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateRegexMatchSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateRegexMatchSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateRegexPatternSetCommand.ts b/clients/client-waf-regional/commands/CreateRegexPatternSetCommand.ts
new file mode 100644
index 000000000000..1a00102ace30
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateRegexPatternSetCommand.ts
@@ -0,0 +1,87 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateRegexPatternSetRequest,
+ CreateRegexPatternSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateRegexPatternSetCommand,
+ serializeAws_json1_1CreateRegexPatternSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateRegexPatternSetCommandInput = CreateRegexPatternSetRequest;
+export type CreateRegexPatternSetCommandOutput = CreateRegexPatternSetResponse;
+
+export class CreateRegexPatternSetCommand extends $Command<
+ CreateRegexPatternSetCommandInput,
+ CreateRegexPatternSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateRegexPatternSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ CreateRegexPatternSetCommandInput,
+ CreateRegexPatternSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateRegexPatternSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateRegexPatternSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateRegexPatternSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateRuleCommand.ts b/clients/client-waf-regional/commands/CreateRuleCommand.ts
new file mode 100644
index 000000000000..7d4012d6d112
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateRuleCommand.ts
@@ -0,0 +1,81 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import { CreateRuleRequest, CreateRuleResponse } from "../models/index";
+import {
+ deserializeAws_json1_1CreateRuleCommand,
+ serializeAws_json1_1CreateRuleCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateRuleCommandInput = CreateRuleRequest;
+export type CreateRuleCommandOutput = CreateRuleResponse;
+
+export class CreateRuleCommand extends $Command<
+ CreateRuleCommandInput,
+ CreateRuleCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateRuleCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateRuleCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateRuleCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateRuleCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateRuleGroupCommand.ts b/clients/client-waf-regional/commands/CreateRuleGroupCommand.ts
new file mode 100644
index 000000000000..80bfc42bea80
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateRuleGroupCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateRuleGroupRequest,
+ CreateRuleGroupResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateRuleGroupCommand,
+ serializeAws_json1_1CreateRuleGroupCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateRuleGroupCommandInput = CreateRuleGroupRequest;
+export type CreateRuleGroupCommandOutput = CreateRuleGroupResponse;
+
+export class CreateRuleGroupCommand extends $Command<
+ CreateRuleGroupCommandInput,
+ CreateRuleGroupCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateRuleGroupCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateRuleGroupCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateRuleGroupCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateRuleGroupCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateSizeConstraintSetCommand.ts b/clients/client-waf-regional/commands/CreateSizeConstraintSetCommand.ts
new file mode 100644
index 000000000000..49d2a9855b11
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateSizeConstraintSetCommand.ts
@@ -0,0 +1,90 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateSizeConstraintSetRequest,
+ CreateSizeConstraintSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateSizeConstraintSetCommand,
+ serializeAws_json1_1CreateSizeConstraintSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateSizeConstraintSetCommandInput = CreateSizeConstraintSetRequest;
+export type CreateSizeConstraintSetCommandOutput = CreateSizeConstraintSetResponse;
+
+export class CreateSizeConstraintSetCommand extends $Command<
+ CreateSizeConstraintSetCommandInput,
+ CreateSizeConstraintSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateSizeConstraintSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ CreateSizeConstraintSetCommandInput,
+ CreateSizeConstraintSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateSizeConstraintSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateSizeConstraintSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateSizeConstraintSetCommand(
+ output,
+ context
+ );
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateSqlInjectionMatchSetCommand.ts b/clients/client-waf-regional/commands/CreateSqlInjectionMatchSetCommand.ts
new file mode 100644
index 000000000000..0286ea820b79
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateSqlInjectionMatchSetCommand.ts
@@ -0,0 +1,93 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateSqlInjectionMatchSetRequest,
+ CreateSqlInjectionMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateSqlInjectionMatchSetCommand,
+ serializeAws_json1_1CreateSqlInjectionMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateSqlInjectionMatchSetCommandInput = CreateSqlInjectionMatchSetRequest;
+export type CreateSqlInjectionMatchSetCommandOutput = CreateSqlInjectionMatchSetResponse;
+
+export class CreateSqlInjectionMatchSetCommand extends $Command<
+ CreateSqlInjectionMatchSetCommandInput,
+ CreateSqlInjectionMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateSqlInjectionMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ CreateSqlInjectionMatchSetCommandInput,
+ CreateSqlInjectionMatchSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateSqlInjectionMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateSqlInjectionMatchSetCommand(
+ input,
+ context
+ );
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateSqlInjectionMatchSetCommand(
+ output,
+ context
+ );
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateWebACLCommand.ts b/clients/client-waf-regional/commands/CreateWebACLCommand.ts
new file mode 100644
index 000000000000..ec3d95bb7f79
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateWebACLCommand.ts
@@ -0,0 +1,81 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import { CreateWebACLRequest, CreateWebACLResponse } from "../models/index";
+import {
+ deserializeAws_json1_1CreateWebACLCommand,
+ serializeAws_json1_1CreateWebACLCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateWebACLCommandInput = CreateWebACLRequest;
+export type CreateWebACLCommandOutput = CreateWebACLResponse;
+
+export class CreateWebACLCommand extends $Command<
+ CreateWebACLCommandInput,
+ CreateWebACLCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateWebACLCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateWebACLCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateWebACLCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateWebACLCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/CreateXssMatchSetCommand.ts b/clients/client-waf-regional/commands/CreateXssMatchSetCommand.ts
new file mode 100644
index 000000000000..d4b3c18456a9
--- /dev/null
+++ b/clients/client-waf-regional/commands/CreateXssMatchSetCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ CreateXssMatchSetRequest,
+ CreateXssMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1CreateXssMatchSetCommand,
+ serializeAws_json1_1CreateXssMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type CreateXssMatchSetCommandInput = CreateXssMatchSetRequest;
+export type CreateXssMatchSetCommandOutput = CreateXssMatchSetResponse;
+
+export class CreateXssMatchSetCommand extends $Command<
+ CreateXssMatchSetCommandInput,
+ CreateXssMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: CreateXssMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: CreateXssMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1CreateXssMatchSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1CreateXssMatchSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteByteMatchSetCommand.ts b/clients/client-waf-regional/commands/DeleteByteMatchSetCommand.ts
new file mode 100644
index 000000000000..7ed7408e1be2
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteByteMatchSetCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteByteMatchSetRequest,
+ DeleteByteMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteByteMatchSetCommand,
+ serializeAws_json1_1DeleteByteMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteByteMatchSetCommandInput = DeleteByteMatchSetRequest;
+export type DeleteByteMatchSetCommandOutput = DeleteByteMatchSetResponse;
+
+export class DeleteByteMatchSetCommand extends $Command<
+ DeleteByteMatchSetCommandInput,
+ DeleteByteMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteByteMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteByteMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteByteMatchSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteByteMatchSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteGeoMatchSetCommand.ts b/clients/client-waf-regional/commands/DeleteGeoMatchSetCommand.ts
new file mode 100644
index 000000000000..c606bd985956
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteGeoMatchSetCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteGeoMatchSetRequest,
+ DeleteGeoMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteGeoMatchSetCommand,
+ serializeAws_json1_1DeleteGeoMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteGeoMatchSetCommandInput = DeleteGeoMatchSetRequest;
+export type DeleteGeoMatchSetCommandOutput = DeleteGeoMatchSetResponse;
+
+export class DeleteGeoMatchSetCommand extends $Command<
+ DeleteGeoMatchSetCommandInput,
+ DeleteGeoMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteGeoMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteGeoMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteGeoMatchSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteGeoMatchSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteIPSetCommand.ts b/clients/client-waf-regional/commands/DeleteIPSetCommand.ts
new file mode 100644
index 000000000000..36cea7b30fe3
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteIPSetCommand.ts
@@ -0,0 +1,81 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import { DeleteIPSetRequest, DeleteIPSetResponse } from "../models/index";
+import {
+ deserializeAws_json1_1DeleteIPSetCommand,
+ serializeAws_json1_1DeleteIPSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteIPSetCommandInput = DeleteIPSetRequest;
+export type DeleteIPSetCommandOutput = DeleteIPSetResponse;
+
+export class DeleteIPSetCommand extends $Command<
+ DeleteIPSetCommandInput,
+ DeleteIPSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteIPSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteIPSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteIPSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteIPSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteLoggingConfigurationCommand.ts b/clients/client-waf-regional/commands/DeleteLoggingConfigurationCommand.ts
new file mode 100644
index 000000000000..07083a51d71b
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteLoggingConfigurationCommand.ts
@@ -0,0 +1,93 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteLoggingConfigurationRequest,
+ DeleteLoggingConfigurationResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteLoggingConfigurationCommand,
+ serializeAws_json1_1DeleteLoggingConfigurationCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteLoggingConfigurationCommandInput = DeleteLoggingConfigurationRequest;
+export type DeleteLoggingConfigurationCommandOutput = DeleteLoggingConfigurationResponse;
+
+export class DeleteLoggingConfigurationCommand extends $Command<
+ DeleteLoggingConfigurationCommandInput,
+ DeleteLoggingConfigurationCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteLoggingConfigurationCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ DeleteLoggingConfigurationCommandInput,
+ DeleteLoggingConfigurationCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteLoggingConfigurationCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteLoggingConfigurationCommand(
+ input,
+ context
+ );
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteLoggingConfigurationCommand(
+ output,
+ context
+ );
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeletePermissionPolicyCommand.ts b/clients/client-waf-regional/commands/DeletePermissionPolicyCommand.ts
new file mode 100644
index 000000000000..6bdc90ef1606
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeletePermissionPolicyCommand.ts
@@ -0,0 +1,87 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeletePermissionPolicyRequest,
+ DeletePermissionPolicyResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeletePermissionPolicyCommand,
+ serializeAws_json1_1DeletePermissionPolicyCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeletePermissionPolicyCommandInput = DeletePermissionPolicyRequest;
+export type DeletePermissionPolicyCommandOutput = DeletePermissionPolicyResponse;
+
+export class DeletePermissionPolicyCommand extends $Command<
+ DeletePermissionPolicyCommandInput,
+ DeletePermissionPolicyCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeletePermissionPolicyCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ DeletePermissionPolicyCommandInput,
+ DeletePermissionPolicyCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeletePermissionPolicyCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeletePermissionPolicyCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeletePermissionPolicyCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteRateBasedRuleCommand.ts b/clients/client-waf-regional/commands/DeleteRateBasedRuleCommand.ts
new file mode 100644
index 000000000000..19a98dbd114f
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteRateBasedRuleCommand.ts
@@ -0,0 +1,87 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteRateBasedRuleRequest,
+ DeleteRateBasedRuleResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteRateBasedRuleCommand,
+ serializeAws_json1_1DeleteRateBasedRuleCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteRateBasedRuleCommandInput = DeleteRateBasedRuleRequest;
+export type DeleteRateBasedRuleCommandOutput = DeleteRateBasedRuleResponse;
+
+export class DeleteRateBasedRuleCommand extends $Command<
+ DeleteRateBasedRuleCommandInput,
+ DeleteRateBasedRuleCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteRateBasedRuleCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ DeleteRateBasedRuleCommandInput,
+ DeleteRateBasedRuleCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteRateBasedRuleCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteRateBasedRuleCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteRateBasedRuleCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteRegexMatchSetCommand.ts b/clients/client-waf-regional/commands/DeleteRegexMatchSetCommand.ts
new file mode 100644
index 000000000000..7b336fcbdb49
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteRegexMatchSetCommand.ts
@@ -0,0 +1,87 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteRegexMatchSetRequest,
+ DeleteRegexMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteRegexMatchSetCommand,
+ serializeAws_json1_1DeleteRegexMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteRegexMatchSetCommandInput = DeleteRegexMatchSetRequest;
+export type DeleteRegexMatchSetCommandOutput = DeleteRegexMatchSetResponse;
+
+export class DeleteRegexMatchSetCommand extends $Command<
+ DeleteRegexMatchSetCommandInput,
+ DeleteRegexMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteRegexMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ DeleteRegexMatchSetCommandInput,
+ DeleteRegexMatchSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteRegexMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteRegexMatchSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteRegexMatchSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteRegexPatternSetCommand.ts b/clients/client-waf-regional/commands/DeleteRegexPatternSetCommand.ts
new file mode 100644
index 000000000000..56a1fc5a84ff
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteRegexPatternSetCommand.ts
@@ -0,0 +1,87 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteRegexPatternSetRequest,
+ DeleteRegexPatternSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteRegexPatternSetCommand,
+ serializeAws_json1_1DeleteRegexPatternSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteRegexPatternSetCommandInput = DeleteRegexPatternSetRequest;
+export type DeleteRegexPatternSetCommandOutput = DeleteRegexPatternSetResponse;
+
+export class DeleteRegexPatternSetCommand extends $Command<
+ DeleteRegexPatternSetCommandInput,
+ DeleteRegexPatternSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteRegexPatternSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ DeleteRegexPatternSetCommandInput,
+ DeleteRegexPatternSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteRegexPatternSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteRegexPatternSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteRegexPatternSetCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteRuleCommand.ts b/clients/client-waf-regional/commands/DeleteRuleCommand.ts
new file mode 100644
index 000000000000..aaa976a97509
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteRuleCommand.ts
@@ -0,0 +1,81 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import { DeleteRuleRequest, DeleteRuleResponse } from "../models/index";
+import {
+ deserializeAws_json1_1DeleteRuleCommand,
+ serializeAws_json1_1DeleteRuleCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteRuleCommandInput = DeleteRuleRequest;
+export type DeleteRuleCommandOutput = DeleteRuleResponse;
+
+export class DeleteRuleCommand extends $Command<
+ DeleteRuleCommandInput,
+ DeleteRuleCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteRuleCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteRuleCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteRuleCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteRuleCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteRuleGroupCommand.ts b/clients/client-waf-regional/commands/DeleteRuleGroupCommand.ts
new file mode 100644
index 000000000000..9a2acf96d920
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteRuleGroupCommand.ts
@@ -0,0 +1,84 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteRuleGroupRequest,
+ DeleteRuleGroupResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteRuleGroupCommand,
+ serializeAws_json1_1DeleteRuleGroupCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteRuleGroupCommandInput = DeleteRuleGroupRequest;
+export type DeleteRuleGroupCommandOutput = DeleteRuleGroupResponse;
+
+export class DeleteRuleGroupCommand extends $Command<
+ DeleteRuleGroupCommandInput,
+ DeleteRuleGroupCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteRuleGroupCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteRuleGroupCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteRuleGroupCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteRuleGroupCommand(output, context);
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteSizeConstraintSetCommand.ts b/clients/client-waf-regional/commands/DeleteSizeConstraintSetCommand.ts
new file mode 100644
index 000000000000..d38da8833051
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteSizeConstraintSetCommand.ts
@@ -0,0 +1,90 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteSizeConstraintSetRequest,
+ DeleteSizeConstraintSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteSizeConstraintSetCommand,
+ serializeAws_json1_1DeleteSizeConstraintSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteSizeConstraintSetCommandInput = DeleteSizeConstraintSetRequest;
+export type DeleteSizeConstraintSetCommandOutput = DeleteSizeConstraintSetResponse;
+
+export class DeleteSizeConstraintSetCommand extends $Command<
+ DeleteSizeConstraintSetCommandInput,
+ DeleteSizeConstraintSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteSizeConstraintSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ DeleteSizeConstraintSetCommandInput,
+ DeleteSizeConstraintSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteSizeConstraintSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteSizeConstraintSetCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteSizeConstraintSetCommand(
+ output,
+ context
+ );
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteSqlInjectionMatchSetCommand.ts b/clients/client-waf-regional/commands/DeleteSqlInjectionMatchSetCommand.ts
new file mode 100644
index 000000000000..27da96b9460d
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteSqlInjectionMatchSetCommand.ts
@@ -0,0 +1,93 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import {
+ DeleteSqlInjectionMatchSetRequest,
+ DeleteSqlInjectionMatchSetResponse
+} from "../models/index";
+import {
+ deserializeAws_json1_1DeleteSqlInjectionMatchSetCommand,
+ serializeAws_json1_1DeleteSqlInjectionMatchSetCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteSqlInjectionMatchSetCommandInput = DeleteSqlInjectionMatchSetRequest;
+export type DeleteSqlInjectionMatchSetCommandOutput = DeleteSqlInjectionMatchSetResponse;
+
+export class DeleteSqlInjectionMatchSetCommand extends $Command<
+ DeleteSqlInjectionMatchSetCommandInput,
+ DeleteSqlInjectionMatchSetCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteSqlInjectionMatchSetCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler<
+ DeleteSqlInjectionMatchSetCommandInput,
+ DeleteSqlInjectionMatchSetCommandOutput
+ > {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteSqlInjectionMatchSetCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteSqlInjectionMatchSetCommand(
+ input,
+ context
+ );
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise {
+ return deserializeAws_json1_1DeleteSqlInjectionMatchSetCommand(
+ output,
+ context
+ );
+ }
+
+ // Start section: command_body_extra
+ // End section: command_body_extra
+}
diff --git a/clients/client-waf-regional/commands/DeleteWebACLCommand.ts b/clients/client-waf-regional/commands/DeleteWebACLCommand.ts
new file mode 100644
index 000000000000..ddf8dd09d8b8
--- /dev/null
+++ b/clients/client-waf-regional/commands/DeleteWebACLCommand.ts
@@ -0,0 +1,81 @@
+import {
+ ServiceInputTypes,
+ ServiceOutputTypes,
+ WAFRegionalClientResolvedConfig
+} from "../WAFRegionalClient";
+import { DeleteWebACLRequest, DeleteWebACLResponse } from "../models/index";
+import {
+ deserializeAws_json1_1DeleteWebACLCommand,
+ serializeAws_json1_1DeleteWebACLCommand
+} from "../protocols/Aws_json1_1";
+import { getSerdePlugin } from "@aws-sdk/middleware-serde";
+import {
+ HttpRequest as __HttpRequest,
+ HttpResponse as __HttpResponse
+} from "@aws-sdk/protocol-http";
+import { Command as $Command } from "@aws-sdk/smithy-client";
+import {
+ FinalizeHandlerArguments,
+ Handler,
+ HandlerExecutionContext,
+ MiddlewareStack,
+ SerdeContext,
+ HttpHandlerOptions as __HttpHandlerOptions
+} from "@aws-sdk/types";
+
+export type DeleteWebACLCommandInput = DeleteWebACLRequest;
+export type DeleteWebACLCommandOutput = DeleteWebACLResponse;
+
+export class DeleteWebACLCommand extends $Command<
+ DeleteWebACLCommandInput,
+ DeleteWebACLCommandOutput,
+ WAFRegionalClientResolvedConfig
+> {
+ // Start section: command_properties
+ // End section: command_properties
+
+ constructor(readonly input: DeleteWebACLCommandInput) {
+ // Start section: command_constructor
+ super();
+ // End section: command_constructor
+ }
+
+ resolveMiddleware(
+ clientStack: MiddlewareStack,
+ configuration: WAFRegionalClientResolvedConfig,
+ options?: __HttpHandlerOptions
+ ): Handler {
+ this.middlewareStack.use(
+ getSerdePlugin(configuration, this.serialize, this.deserialize)
+ );
+
+ const stack = clientStack.concat(this.middlewareStack);
+
+ const handlerExecutionContext: HandlerExecutionContext = {
+ logger: {} as any
+ };
+ const { requestHandler } = configuration;
+ return stack.resolve(
+ (request: FinalizeHandlerArguments) =>
+ requestHandler.handle(request.request as __HttpRequest, options || {}),
+ handlerExecutionContext
+ );
+ }
+
+ private serialize(
+ input: DeleteWebACLCommandInput,
+ context: SerdeContext
+ ): Promise<__HttpRequest> {
+ return serializeAws_json1_1DeleteWebACLCommand(input, context);
+ }
+
+ private deserialize(
+ output: __HttpResponse,
+ context: SerdeContext
+ ): Promise