UNPKG

openapi-directory

Version:

Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS

1 lines 466 kB
{"openapi":"3.0.0","info":{"version":"2015-08-24","x-release":"v4","title":"AWS WAF","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>This is the <i>AWS WAF Classic API Reference</i> for using AWS WAF Classic with Amazon CloudFront. The AWS WAF Classic actions and data types listed in the reference are available for protecting Amazon CloudFront distributions. You can use these actions and data types via the endpoint <i>waf.amazonaws.com</i>. This guide is for developers who need detailed information about the AWS WAF Classic API actions, data types, and errors. For detailed information about AWS WAF Classic features and an overview of how to use the AWS WAF Classic API, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p>","x-logo":{"url":"https://twitter.com/awscloud/profile_image?size=original","backgroundColor":"#FFFFFF"},"termsOfService":"https://aws.amazon.com/service-terms/","contact":{"name":"Mike Ralphson","email":"mike.ralphson@gmail.com","url":"https://github.com/mermade/aws2openapi","x-twitter":"PermittedSoc"},"license":{"name":"Apache 2.0 License","url":"http://www.apache.org/licenses/"},"x-providerName":"amazonaws.com","x-serviceName":"waf","x-origin":[{"contentType":"application/json","url":"https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/waf-2015-08-24.normal.json","converter":{"url":"https://github.com/mermade/aws2openapi","version":"1.0.0"},"x-apisguru-driver":"external"}],"x-apiClientRegistration":{"url":"https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct"},"x-apisguru-categories":["cloud"],"x-preferred":true},"externalDocs":{"description":"Amazon Web Services documentation","url":"https://docs.aws.amazon.com/waf/"},"servers":[{"url":"https://waf.amazonaws.com","variables":{},"description":"The general WAF multi-region endpoint"},{"url":"http://waf.{region}.amazonaws.com.cn","variables":{"region":{"description":"The AWS region","enum":["cn-north-1","cn-northwest-1"],"default":"cn-north-1"}},"description":"The WAF endpoint for China (Beijing) and China (Ningxia)"},{"url":"https://waf.{region}.amazonaws.com.cn","variables":{"region":{"description":"The AWS region","enum":["cn-north-1","cn-northwest-1"],"default":"cn-north-1"}},"description":"The WAF endpoint for China (Beijing) and China (Ningxia)"}],"x-hasEquivalentPaths":true,"paths":{"/#X-Amz-Target=AWSWAF_20150824.CreateByteMatchSet":{"post":{"operationId":"CreateByteMatchSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <code>ByteMatchSet</code>. You then use <a>UpdateByteMatchSet</a> to identify the part of a web request that you want AWS WAF to inspect, such as the values of the <code>User-Agent</code> header or the query string. For example, you can create a <code>ByteMatchSet</code> that matches any requests with <code>User-Agent</code> headers that contain the string <code>BadBot</code>. You can then configure AWS WAF to reject those requests.</p> <p>To create and configure a <code>ByteMatchSet</code>, perform the following steps:</p> <ol> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateByteMatchSet</code> request.</p> </li> <li> <p>Submit a <code>CreateByteMatchSet</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <code>UpdateByteMatchSet</code> request.</p> </li> <li> <p>Submit an <a>UpdateByteMatchSet</a> 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.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateByteMatchSetResponse"}}}},"480":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFInvalidAccountException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidAccountException"}}}},"483":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"484":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"485":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateByteMatchSetRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateByteMatchSet"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateGeoMatchSet":{"post":{"operationId":"CreateGeoMatchSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates an <a>GeoMatchSet</a>, 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 <code>GeoMatchSet</code> that contains those countries and then configure AWS WAF to block the requests. </p> <p>To create and configure a <code>GeoMatchSet</code>, perform the following steps:</p> <ol> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateGeoMatchSet</code> request.</p> </li> <li> <p>Submit a <code>CreateGeoMatchSet</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <a>UpdateGeoMatchSet</a> request.</p> </li> <li> <p>Submit an <code>UpdateGeoMatchSetSet</code> request to specify the countries that you want AWS WAF to watch for.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGeoMatchSetResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFInvalidAccountException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidAccountException"}}}},"483":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"484":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"485":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGeoMatchSetRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateGeoMatchSet"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateIPSet":{"post":{"operationId":"CreateIPSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates an <a>IPSet</a>, 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 <code>IPSet</code> that contains those IP addresses and then configure AWS WAF to block the requests. </p> <p>To create and configure an <code>IPSet</code>, perform the following steps:</p> <ol> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateIPSet</code> request.</p> </li> <li> <p>Submit a <code>CreateIPSet</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <a>UpdateIPSet</a> request.</p> </li> <li> <p>Submit an <code>UpdateIPSet</code> request to specify the IP addresses that you want AWS WAF to watch for.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIPSetResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFInvalidAccountException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidAccountException"}}}},"483":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"484":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"485":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateIPSetRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateIPSet"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateRateBasedRule":{"post":{"operationId":"CreateRateBasedRule","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <a>RateBasedRule</a>. The <code>RateBasedRule</code> contains a <code>RateLimit</code>, which specifies the maximum number of requests that AWS WAF allows from a specified IP address in a five-minute period. The <code>RateBasedRule</code> also contains the <code>IPSet</code> objects, <code>ByteMatchSet</code> objects, and other predicates that identify the requests that you want to count or block if these requests exceed the <code>RateLimit</code>.</p> <p>If you add more than one predicate to a <code>RateBasedRule</code>, a request not only must exceed the <code>RateLimit</code>, but it also must match all the conditions to be counted or blocked. For example, suppose you add the following to a <code>RateBasedRule</code>:</p> <ul> <li> <p>An <code>IPSet</code> that matches the IP address <code>192.0.2.44/32</code> </p> </li> <li> <p>A <code>ByteMatchSet</code> that matches <code>BadBot</code> in the <code>User-Agent</code> header</p> </li> </ul> <p>Further, you specify a <code>RateLimit</code> of 1,000.</p> <p>You then add the <code>RateBasedRule</code> to a <code>WebACL</code> 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 <i>and</i> the <code>User-Agent</code> header in the request must contain the value <code>BadBot</code>. Further, requests that match these two conditions must be received at a rate of more than 1,000 requests every five minutes. If both conditions are met and the rate is exceeded, AWS WAF blocks the requests. If the rate drops below 1,000 for a five-minute period, AWS WAF no longer blocks the requests.</p> <p>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 <code>RateBasedRule</code>:</p> <ul> <li> <p>A <code>ByteMatchSet</code> with <code>FieldToMatch</code> of <code>URI</code> </p> </li> <li> <p>A <code>PositionalConstraint</code> of <code>STARTS_WITH</code> </p> </li> <li> <p>A <code>TargetString</code> of <code>login</code> </p> </li> </ul> <p>Further, you specify a <code>RateLimit</code> of 1,000.</p> <p>By adding this <code>RateBasedRule</code> to a <code>WebACL</code>, you could limit requests to your login page without affecting the rest of your site.</p> <p>To create and configure a <code>RateBasedRule</code>, perform the following steps:</p> <ol> <li> <p>Create and update the predicates that you want to include in the rule. For more information, see <a>CreateByteMatchSet</a>, <a>CreateIPSet</a>, and <a>CreateSqlInjectionMatchSet</a>.</p> </li> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateRule</code> request.</p> </li> <li> <p>Submit a <code>CreateRateBasedRule</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <a>UpdateRule</a> request.</p> </li> <li> <p>Submit an <code>UpdateRateBasedRule</code> request to specify the predicates that you want to include in the rule.</p> </li> <li> <p>Create and update a <code>WebACL</code> that contains the <code>RateBasedRule</code>. For more information, see <a>CreateWebACL</a>.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRateBasedRuleResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"483":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"484":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}},"485":{"description":"WAFTagOperationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationException"}}}},"486":{"description":"WAFTagOperationInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationInternalErrorException"}}}},"487":{"description":"WAFBadRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFBadRequestException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRateBasedRuleRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateRateBasedRule"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateRegexMatchSet":{"post":{"operationId":"CreateRegexMatchSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <a>RegexMatchSet</a>. You then use <a>UpdateRegexMatchSet</a> to identify the part of a web request that you want AWS WAF to inspect, such as the values of the <code>User-Agent</code> header or the query string. For example, you can create a <code>RegexMatchSet</code> that contains a <code>RegexMatchTuple</code> that looks for any requests with <code>User-Agent</code> headers that match a <code>RegexPatternSet</code> with pattern <code>B[a@]dB[o0]t</code>. You can then configure AWS WAF to reject those requests.</p> <p>To create and configure a <code>RegexMatchSet</code>, perform the following steps:</p> <ol> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateRegexMatchSet</code> request.</p> </li> <li> <p>Submit a <code>CreateRegexMatchSet</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <code>UpdateRegexMatchSet</code> request.</p> </li> <li> <p>Submit an <a>UpdateRegexMatchSet</a> 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 <code>RegexPatternSet</code>, that you want AWS WAF to watch for.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRegexMatchSetResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"483":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRegexMatchSetRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateRegexMatchSet"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateRegexPatternSet":{"post":{"operationId":"CreateRegexPatternSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <code>RegexPatternSet</code>. You then use <a>UpdateRegexPatternSet</a> to specify the regular expression (regex) pattern that you want AWS WAF to search for, such as <code>B[a@]dB[o0]t</code>. You can then configure AWS WAF to reject those requests.</p> <p>To create and configure a <code>RegexPatternSet</code>, perform the following steps:</p> <ol> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateRegexPatternSet</code> request.</p> </li> <li> <p>Submit a <code>CreateRegexPatternSet</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <code>UpdateRegexPatternSet</code> request.</p> </li> <li> <p>Submit an <a>UpdateRegexPatternSet</a> request to specify the string that you want AWS WAF to watch for.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRegexPatternSetResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"483":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRegexPatternSetRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateRegexPatternSet"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateRule":{"post":{"operationId":"CreateRule","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <code>Rule</code>, which contains the <code>IPSet</code> objects, <code>ByteMatchSet</code> objects, and other predicates that identify the requests that you want to block. If you add more than one predicate to a <code>Rule</code>, a request must match all of the specifications to be allowed or blocked. For example, suppose that you add the following to a <code>Rule</code>:</p> <ul> <li> <p>An <code>IPSet</code> that matches the IP address <code>192.0.2.44/32</code> </p> </li> <li> <p>A <code>ByteMatchSet</code> that matches <code>BadBot</code> in the <code>User-Agent</code> header</p> </li> </ul> <p>You then add the <code>Rule</code> to a <code>WebACL</code> and specify that you want to blocks requests that satisfy the <code>Rule</code>. For a request to be blocked, it must come from the IP address 192.0.2.44 <i>and</i> the <code>User-Agent</code> header in the request must contain the value <code>BadBot</code>.</p> <p>To create and configure a <code>Rule</code>, perform the following steps:</p> <ol> <li> <p>Create and update the predicates that you want to include in the <code>Rule</code>. For more information, see <a>CreateByteMatchSet</a>, <a>CreateIPSet</a>, and <a>CreateSqlInjectionMatchSet</a>.</p> </li> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateRule</code> request.</p> </li> <li> <p>Submit a <code>CreateRule</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <a>UpdateRule</a> request.</p> </li> <li> <p>Submit an <code>UpdateRule</code> request to specify the predicates that you want to include in the <code>Rule</code>.</p> </li> <li> <p>Create and update a <code>WebACL</code> that contains the <code>Rule</code>. For more information, see <a>CreateWebACL</a>.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRuleResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"483":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"484":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}},"485":{"description":"WAFTagOperationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationException"}}}},"486":{"description":"WAFTagOperationInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationInternalErrorException"}}}},"487":{"description":"WAFBadRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFBadRequestException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRuleRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateRule"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateRuleGroup":{"post":{"operationId":"CreateRuleGroup","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <code>RuleGroup</code>. A rule group is a collection of predefined rules that you add to a web ACL. You use <a>UpdateRuleGroup</a> to add rules to the rule group.</p> <p>Rule groups are subject to the following limits:</p> <ul> <li> <p>Three rule groups per account. You can request an increase to this limit by contacting customer support.</p> </li> <li> <p>One rule group per web ACL.</p> </li> <li> <p>Ten rules per rule group.</p> </li> </ul> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRuleGroupResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"483":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}},"484":{"description":"WAFTagOperationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationException"}}}},"485":{"description":"WAFTagOperationInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationInternalErrorException"}}}},"486":{"description":"WAFBadRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFBadRequestException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRuleGroupRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateRuleGroup"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateSizeConstraintSet":{"post":{"operationId":"CreateSizeConstraintSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <code>SizeConstraintSet</code>. You then use <a>UpdateSizeConstraintSet</a> to identify the part of a web request that you want AWS WAF to check for length, such as the length of the <code>User-Agent</code> header or the length of the query string. For example, you can create a <code>SizeConstraintSet</code> 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.</p> <p>To create and configure a <code>SizeConstraintSet</code>, perform the following steps:</p> <ol> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateSizeConstraintSet</code> request.</p> </li> <li> <p>Submit a <code>CreateSizeConstraintSet</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <code>UpdateSizeConstraintSet</code> request.</p> </li> <li> <p>Submit an <a>UpdateSizeConstraintSet</a> 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.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSizeConstraintSetResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFInvalidAccountException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidAccountException"}}}},"483":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"484":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"485":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSizeConstraintSetRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateSizeConstraintSet"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateSqlInjectionMatchSet":{"post":{"operationId":"CreateSqlInjectionMatchSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <a>SqlInjectionMatchSet</a>, 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.</p> <p>To create and configure a <code>SqlInjectionMatchSet</code>, perform the following steps:</p> <ol> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateSqlInjectionMatchSet</code> request.</p> </li> <li> <p>Submit a <code>CreateSqlInjectionMatchSet</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <a>UpdateSqlInjectionMatchSet</a> request.</p> </li> <li> <p>Submit an <a>UpdateSqlInjectionMatchSet</a> request to specify the parts of web requests in which you want to allow, block, or count malicious SQL code.</p> </li> </ol> <p>For more information about how to use the AWS WAF API to allow or block HTTP requests, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSqlInjectionMatchSetResponse"}}}},"480":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFInvalidAccountException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidAccountException"}}}},"483":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"484":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"485":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSqlInjectionMatchSetRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateSqlInjectionMatchSet"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateWebACL":{"post":{"operationId":"CreateWebACL","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates a <code>WebACL</code>, which contains the <code>Rules</code> that identify the CloudFront web requests that you want to allow, block, or count. AWS WAF evaluates <code>Rules</code> in order based on the value of <code>Priority</code> for each <code>Rule</code>.</p> <p>You also specify a default action, either <code>ALLOW</code> or <code>BLOCK</code>. If a web request doesn't match any of the <code>Rules</code> in a <code>WebACL</code>, AWS WAF responds to the request with the default action. </p> <p>To create and configure a <code>WebACL</code>, perform the following steps:</p> <ol> <li> <p>Create and update the <code>ByteMatchSet</code> objects and other predicates that you want to include in <code>Rules</code>. For more information, see <a>CreateByteMatchSet</a>, <a>UpdateByteMatchSet</a>, <a>CreateIPSet</a>, <a>UpdateIPSet</a>, <a>CreateSqlInjectionMatchSet</a>, and <a>UpdateSqlInjectionMatchSet</a>.</p> </li> <li> <p>Create and update the <code>Rules</code> that you want to include in the <code>WebACL</code>. For more information, see <a>CreateRule</a> and <a>UpdateRule</a>.</p> </li> <li> <p>Use <a>GetChangeToken</a> to get the change token that you provide in the <code>ChangeToken</code> parameter of a <code>CreateWebACL</code> request.</p> </li> <li> <p>Submit a <code>CreateWebACL</code> request.</p> </li> <li> <p>Use <code>GetChangeToken</code> to get the change token that you provide in the <code>ChangeToken</code> parameter of an <a>UpdateWebACL</a> request.</p> </li> <li> <p>Submit an <a>UpdateWebACL</a> request to specify the <code>Rules</code> that you want to include in the <code>WebACL</code>, to specify the default action, and to associate the <code>WebACL</code> with a CloudFront distribution.</p> </li> </ol> <p>For more information about how to use the AWS WAF API, see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/\">AWS WAF Developer Guide</a>.</p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebACLResponse"}}}},"480":{"description":"WAFStaleDataException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFStaleDataException"}}}},"481":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"482":{"description":"WAFInvalidAccountException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidAccountException"}}}},"483":{"description":"WAFDisallowedNameException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFDisallowedNameException"}}}},"484":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"485":{"description":"WAFLimitsExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFLimitsExceededException"}}}},"486":{"description":"WAFTagOperationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationException"}}}},"487":{"description":"WAFTagOperationInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFTagOperationInternalErrorException"}}}},"488":{"description":"WAFBadRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFBadRequestException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebACLRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateWebACL"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateWebACLMigrationStack":{"post":{"operationId":"CreateWebACLMigrationStack","description":"<p>Creates an AWS CloudFormation WAFV2 template for the specified web ACL in the specified Amazon S3 bucket. Then, in CloudFormation, you create a stack from the template, to create the web ACL and its resources in AWS WAFV2. Use this to migrate your AWS WAF Classic web ACL to the latest version of AWS WAF.</p> <p>This is part of a larger migration procedure for web ACLs from AWS WAF Classic to the latest version of AWS WAF. For the full procedure, including caveats and manual steps to complete the migration and switch over to the new web ACL, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-migrating-from-classic.html\">Migrating your AWS WAF Classic resources to AWS WAF</a> in the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. </p>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebACLMigrationStackResponse"}}}},"480":{"description":"WAFInternalErrorException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInternalErrorException"}}}},"481":{"description":"WAFInvalidParameterException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidParameterException"}}}},"482":{"description":"WAFInvalidOperationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFInvalidOperationException"}}}},"483":{"description":"WAFNonexistentItemException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFNonexistentItemException"}}}},"484":{"description":"WAFEntityMigrationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WAFEntityMigrationException"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebACLMigrationStackRequest"}}}},"parameters":[{"name":"X-Amz-Target","in":"header","required":true,"schema":{"type":"string","enum":["AWSWAF_20150824.CreateWebACLMigrationStack"]}}]},"parameters":[{"$ref":"#/components/parameters/X-Amz-Content-Sha256"},{"$ref":"#/components/parameters/X-Amz-Date"},{"$ref":"#/components/parameters/X-Amz-Algorithm"},{"$ref":"#/components/parameters/X-Amz-Credential"},{"$ref":"#/components/parameters/X-Amz-Security-Token"},{"$ref":"#/components/parameters/X-Amz-Signature"},{"$ref":"#/components/parameters/X-Amz-SignedHeaders"}]},"/#X-Amz-Target=AWSWAF_20150824.CreateXssMatchSet":{"post":{"operationId":"CreateXssMatchSet","description":"<note> <p>This is <b>AWS WAF Classic</b> documentation. For more information, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/classic-waf-chapter.html\">AWS WAF Classic</a> in the developer guide.</p> <p> <b>For the latest version of AWS WAF</b>, use the AWS WAFV2 API and see the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">AWS WAF Developer Guide</a>. With the latest version, AWS WAF has a single set of endpoints for regional and global use. </p> </note> <p>Creates an <a>XssMatchSet</a>, 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