|
997 | 997 | "type":"integer",
|
998 | 998 | "min":0
|
999 | 999 | },
|
| 1000 | + "ASN":{ |
| 1001 | + "type":"long", |
| 1002 | + "max":4294967295, |
| 1003 | + "min":0 |
| 1004 | + }, |
1000 | 1005 | "AWSManagedRulesACFPRuleSet":{
|
1001 | 1006 | "type":"structure",
|
1002 | 1007 | "required":[
|
|
1106 | 1111 | },
|
1107 | 1112 | "All":{
|
1108 | 1113 | "type":"structure",
|
1109 |
| - "members":{ |
1110 |
| - }, |
| 1114 | + "members":{}, |
1111 | 1115 | "documentation":"<p>Inspect all of the elements that WAF has parsed and extracted from the web request component that you've identified in your <a>FieldToMatch</a> specifications. </p> <p>This is used in the <a>FieldToMatch</a> specification for some web request component types. </p> <p>JSON specification: <code>\"All\": {}</code> </p>"
|
1112 | 1116 | },
|
1113 | 1117 | "AllQueryArguments":{
|
1114 | 1118 | "type":"structure",
|
1115 |
| - "members":{ |
1116 |
| - }, |
| 1119 | + "members":{}, |
1117 | 1120 | "documentation":"<p>Inspect all query arguments of the web request. </p> <p>This is used in the <a>FieldToMatch</a> specification for some web request component types. </p> <p>JSON specification: <code>\"AllQueryArguments\": {}</code> </p>"
|
1118 | 1121 | },
|
1119 | 1122 | "AllowAction":{
|
|
1137 | 1140 | },
|
1138 | 1141 | "documentation":"<p>A logical rule statement used to combine other rule statements with AND logic. You provide more than one <a>Statement</a> within the <code>AndStatement</code>. </p>"
|
1139 | 1142 | },
|
| 1143 | + "AsnList":{ |
| 1144 | + "type":"list", |
| 1145 | + "member":{"shape":"ASN"}, |
| 1146 | + "max":100, |
| 1147 | + "min":1 |
| 1148 | + }, |
| 1149 | + "AsnMatchStatement":{ |
| 1150 | + "type":"structure", |
| 1151 | + "required":["AsnList"], |
| 1152 | + "members":{ |
| 1153 | + "AsnList":{ |
| 1154 | + "shape":"AsnList", |
| 1155 | + "documentation":"<p>Contains one or more Autonomous System Numbers (ASNs). ASNs are unique identifiers assigned to large internet networks managed by organizations such as internet service providers, enterprises, universities, or government agencies. </p>" |
| 1156 | + }, |
| 1157 | + "ForwardedIPConfig":{ |
| 1158 | + "shape":"ForwardedIPConfig", |
| 1159 | + "documentation":"<p>The configuration for inspecting IP addresses to match against an ASN in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name. </p>" |
| 1160 | + } |
| 1161 | + }, |
| 1162 | + "documentation":"<p>A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.</p> <p>For additional details, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html\">ASN match rule statement</a> in the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">WAF Developer Guide</a>. </p>" |
| 1163 | + }, |
1140 | 1164 | "AssociateWebACLRequest":{
|
1141 | 1165 | "type":"structure",
|
1142 | 1166 | "required":[
|
|
1156 | 1180 | },
|
1157 | 1181 | "AssociateWebACLResponse":{
|
1158 | 1182 | "type":"structure",
|
1159 |
| - "members":{ |
1160 |
| - } |
| 1183 | + "members":{} |
1161 | 1184 | },
|
1162 | 1185 | "AssociatedResourceType":{
|
1163 | 1186 | "type":"string",
|
|
2105 | 2128 | },
|
2106 | 2129 | "DeleteAPIKeyResponse":{
|
2107 | 2130 | "type":"structure",
|
2108 |
| - "members":{ |
2109 |
| - } |
| 2131 | + "members":{} |
2110 | 2132 | },
|
2111 | 2133 | "DeleteFirewallManagerRuleGroupsRequest":{
|
2112 | 2134 | "type":"structure",
|
|
2163 | 2185 | },
|
2164 | 2186 | "DeleteIPSetResponse":{
|
2165 | 2187 | "type":"structure",
|
2166 |
| - "members":{ |
2167 |
| - } |
| 2188 | + "members":{} |
2168 | 2189 | },
|
2169 | 2190 | "DeleteLoggingConfigurationRequest":{
|
2170 | 2191 | "type":"structure",
|
|
2186 | 2207 | },
|
2187 | 2208 | "DeleteLoggingConfigurationResponse":{
|
2188 | 2209 | "type":"structure",
|
2189 |
| - "members":{ |
2190 |
| - } |
| 2210 | + "members":{} |
2191 | 2211 | },
|
2192 | 2212 | "DeletePermissionPolicyRequest":{
|
2193 | 2213 | "type":"structure",
|
|
2201 | 2221 | },
|
2202 | 2222 | "DeletePermissionPolicyResponse":{
|
2203 | 2223 | "type":"structure",
|
2204 |
| - "members":{ |
2205 |
| - } |
| 2224 | + "members":{} |
2206 | 2225 | },
|
2207 | 2226 | "DeleteRegexPatternSetRequest":{
|
2208 | 2227 | "type":"structure",
|
|
2233 | 2252 | },
|
2234 | 2253 | "DeleteRegexPatternSetResponse":{
|
2235 | 2254 | "type":"structure",
|
2236 |
| - "members":{ |
2237 |
| - } |
| 2255 | + "members":{} |
2238 | 2256 | },
|
2239 | 2257 | "DeleteRuleGroupRequest":{
|
2240 | 2258 | "type":"structure",
|
|
2265 | 2283 | },
|
2266 | 2284 | "DeleteRuleGroupResponse":{
|
2267 | 2285 | "type":"structure",
|
2268 |
| - "members":{ |
2269 |
| - } |
| 2286 | + "members":{} |
2270 | 2287 | },
|
2271 | 2288 | "DeleteWebACLRequest":{
|
2272 | 2289 | "type":"structure",
|
|
2297 | 2314 | },
|
2298 | 2315 | "DeleteWebACLResponse":{
|
2299 | 2316 | "type":"structure",
|
2300 |
| - "members":{ |
2301 |
| - } |
| 2317 | + "members":{} |
2302 | 2318 | },
|
2303 | 2319 | "DescribeAllManagedProductsRequest":{
|
2304 | 2320 | "type":"structure",
|
|
2416 | 2432 | },
|
2417 | 2433 | "DisassociateWebACLResponse":{
|
2418 | 2434 | "type":"structure",
|
2419 |
| - "members":{ |
2420 |
| - } |
| 2435 | + "members":{} |
2421 | 2436 | },
|
2422 | 2437 | "DownloadUrl":{"type":"string"},
|
2423 | 2438 | "EmailField":{
|
|
2715 | 2730 | "documentation":"<p>The match status to assign to the web request if the request doesn't have a valid IP address in the specified position.</p> <note> <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p> </note> <p>You can specify the following fallback behaviors:</p> <ul> <li> <p> <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p> </li> <li> <p> <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p> </li> </ul>"
|
2716 | 2731 | }
|
2717 | 2732 | },
|
2718 |
| - "documentation":"<p>The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name. </p> <note> <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p> </note> <p>This configuration is used for <a>GeoMatchStatement</a> and <a>RateBasedStatement</a>. For <a>IPSetReferenceStatement</a>, use <a>IPSetForwardedIPConfig</a> instead. </p> <p>WAF only evaluates the first IP address found in the specified HTTP header. </p>" |
| 2733 | + "documentation":"<p>The configuration for inspecting IP addresses in an HTTP header that you specify, instead of using the IP address that's reported by the web request origin. Commonly, this is the X-Forwarded-For (XFF) header, but you can specify any header name. </p> <note> <p>If the specified header isn't present in the request, WAF doesn't apply the rule to the web request at all.</p> </note> <p>This configuration is used for <a>GeoMatchStatement</a>, <a>AsnMatchStatement</a>, and <a>RateBasedStatement</a>. For <a>IPSetReferenceStatement</a>, use <a>IPSetForwardedIPConfig</a> instead. </p> <p>WAF only evaluates the first IP address found in the specified HTTP header. </p>" |
2719 | 2734 | },
|
2720 | 2735 | "ForwardedIPHeaderName":{
|
2721 | 2736 | "type":"string",
|
|
3243 | 3258 | "members":{
|
3244 | 3259 | "OversizeHandling":{
|
3245 | 3260 | "shape":"OversizeHandling",
|
3246 |
| - "documentation":"<p>What WAF should do if the headers of the request are more numerous or larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF. </p> <p>The options for oversize handling are the following:</p> <ul> <li> <p> <code>CONTINUE</code> - Inspect the available headers normally, according to the rule inspection criteria. </p> </li> <li> <p> <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p> </li> <li> <p> <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p> </li> </ul>" |
| 3261 | + "documentation":"<p>What WAF should do if the headers determined by your match scope are more numerous or larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF. </p> <p>The options for oversize handling are the following:</p> <ul> <li> <p> <code>CONTINUE</code> - Inspect the available headers normally, according to the rule inspection criteria. </p> </li> <li> <p> <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p> </li> <li> <p> <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p> </li> </ul>" |
3247 | 3262 | }
|
3248 | 3263 | },
|
3249 | 3264 | "documentation":"<p>Inspect a string containing the list of the request's header names, ordered as they appear in the web request that WAF receives for inspection. WAF generates the string and then uses that as the field to match component in its inspection. WAF separates the header names in the string using colons and no added spaces, for example <code>host:user-agent:accept:authorization:referer</code>.</p>"
|
|
3267 | 3282 | },
|
3268 | 3283 | "OversizeHandling":{
|
3269 | 3284 | "shape":"OversizeHandling",
|
3270 |
| - "documentation":"<p>What WAF should do if the headers of the request are more numerous or larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF. </p> <p>The options for oversize handling are the following:</p> <ul> <li> <p> <code>CONTINUE</code> - Inspect the available headers normally, according to the rule inspection criteria. </p> </li> <li> <p> <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p> </li> <li> <p> <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p> </li> </ul>" |
| 3285 | + "documentation":"<p>What WAF should do if the headers determined by your match scope are more numerous or larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF. </p> <p>The options for oversize handling are the following:</p> <ul> <li> <p> <code>CONTINUE</code> - Inspect the available headers normally, according to the rule inspection criteria. </p> </li> <li> <p> <code>MATCH</code> - Treat the web request as matching the rule statement. WAF applies the rule action to the request.</p> </li> <li> <p> <code>NO_MATCH</code> - Treat the web request as not matching the rule statement.</p> </li> </ul>" |
3271 | 3286 | }
|
3272 | 3287 | },
|
3273 | 3288 | "documentation":"<p>Inspect all headers in the web request. You can specify the parts of the headers to inspect and you can narrow the set of headers to inspect by including or excluding specific keys.</p> <p>This is used to indicate the web request component to inspect, in the <a>FieldToMatch</a> specification. </p> <p>If you want to inspect just the value of a single header, use the <code>SingleHeader</code> <code>FieldToMatch</code> setting instead.</p> <p>Example JSON: <code>\"Headers\": { \"MatchPattern\": { \"All\": {} }, \"MatchScope\": \"KEY\", \"OversizeHandling\": \"MATCH\" }</code> </p>"
|
|
4346 | 4361 | },
|
4347 | 4362 | "Method":{
|
4348 | 4363 | "type":"structure",
|
4349 |
| - "members":{ |
4350 |
| - }, |
| 4364 | + "members":{}, |
4351 | 4365 | "documentation":"<p>Inspect the HTTP method of the web request. The method indicates the type of operation that the request is asking the origin to perform. </p> <p>This is used in the <a>FieldToMatch</a> specification for some web request component types. </p> <p>JSON specification: <code>\"Method\": {}</code> </p>"
|
4352 | 4366 | },
|
4353 | 4367 | "MetricName":{
|
|
4386 | 4400 | },
|
4387 | 4401 | "NoneAction":{
|
4388 | 4402 | "type":"structure",
|
4389 |
| - "members":{ |
4390 |
| - }, |
| 4403 | + "members":{}, |
4391 | 4404 | "documentation":"<p>Specifies that WAF should do nothing. This is used for the <code>OverrideAction</code> setting on a <a>Rule</a> when the rule uses a rule group reference statement. </p> <p>This is used in the context of other settings, for example to specify values for <a>RuleAction</a> and web ACL <a>DefaultAction</a>. </p> <p>JSON specification: <code>\"None\": {}</code> </p>"
|
4392 | 4405 | },
|
4393 | 4406 | "NotStatement":{
|
|
4686 | 4699 | },
|
4687 | 4700 | "PutPermissionPolicyResponse":{
|
4688 | 4701 | "type":"structure",
|
4689 |
| - "members":{ |
4690 |
| - } |
| 4702 | + "members":{} |
4691 | 4703 | },
|
4692 | 4704 | "QueryString":{
|
4693 | 4705 | "type":"structure",
|
4694 |
| - "members":{ |
4695 |
| - }, |
| 4706 | + "members":{}, |
4696 | 4707 | "documentation":"<p>Inspect the query string of the web request. This is the part of a URL that appears after a <code>?</code> character, if any.</p> <p>This is used in the <a>FieldToMatch</a> specification for some web request component types. </p> <p>JSON specification: <code>\"QueryString\": {}</code> </p>"
|
4697 | 4708 | },
|
4698 | 4709 | "RateBasedStatement":{
|
|
4784 | 4795 | "JA4Fingerprint":{
|
4785 | 4796 | "shape":"RateLimitJA4Fingerprint",
|
4786 | 4797 | "documentation":"<p>Use the request's JA4 fingerprint as an aggregate key. If you use a single JA4 fingerprint as your custom key, then each value fully defines an aggregation instance. </p>"
|
| 4798 | + }, |
| 4799 | + "ASN":{ |
| 4800 | + "shape":"RateLimitAsn", |
| 4801 | + "documentation":"<p>Use an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key. Each distinct ASN contributes to the aggregation instance. </p>" |
4787 | 4802 | }
|
4788 | 4803 | },
|
4789 | 4804 | "documentation":"<p>Specifies a single custom aggregate key for a rate-base rule. </p> <note> <p>Web requests that are missing any of the components specified in the aggregation keys are omitted from the rate-based rule evaluation and handling. </p> </note>"
|
|
4812 | 4827 | "max":2000000000,
|
4813 | 4828 | "min":10
|
4814 | 4829 | },
|
| 4830 | + "RateLimitAsn":{ |
| 4831 | + "type":"structure", |
| 4832 | + "members":{}, |
| 4833 | + "documentation":"<p>Specifies an Autonomous System Number (ASN) derived from the request's originating or forwarded IP address as an aggregate key for a rate-based rule. Each distinct ASN contributes to the aggregation instance. If you use a single ASN as your custom key, then each ASN fully defines an aggregation instance. </p>" |
| 4834 | + }, |
4815 | 4835 | "RateLimitCookie":{
|
4816 | 4836 | "type":"structure",
|
4817 | 4837 | "required":[
|
|
4832 | 4852 | },
|
4833 | 4853 | "RateLimitForwardedIP":{
|
4834 | 4854 | "type":"structure",
|
4835 |
| - "members":{ |
4836 |
| - }, |
| 4855 | + "members":{}, |
4837 | 4856 | "documentation":"<p>Specifies the first IP address in an HTTP header as an aggregate key for a rate-based rule. Each distinct forwarded IP address contributes to the aggregation instance.</p> <p>This setting is used only in the <code>RateBasedStatementCustomKey</code> specification of a rate-based rule statement. When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying <code>FORWARDED_IP</code> in your rate-based statement's <code>AggregateKeyType</code>. </p> <p>This data type supports using the forwarded IP address in the web request aggregation for a rate-based rule, in <code>RateBasedStatementCustomKey</code>. The JSON specification for using the forwarded IP address doesn't explicitly use this data type. </p> <p>JSON specification: <code>\"ForwardedIP\": {}</code> </p> <p>When you use this specification, you must also configure the forwarded IP address in the rate-based statement's <code>ForwardedIPConfig</code>. </p>"
|
4838 | 4857 | },
|
4839 | 4858 | "RateLimitHTTPMethod":{
|
4840 | 4859 | "type":"structure",
|
4841 |
| - "members":{ |
4842 |
| - }, |
| 4860 | + "members":{}, |
4843 | 4861 | "documentation":"<p>Specifies the request's HTTP method as an aggregate key for a rate-based rule. Each distinct HTTP method contributes to the aggregation instance. If you use just the HTTP method as your custom key, then each method fully defines an aggregation instance. </p> <p>JSON specification: <code>\"RateLimitHTTPMethod\": {}</code> </p>"
|
4844 | 4862 | },
|
4845 | 4863 | "RateLimitHeader":{
|
|
4862 | 4880 | },
|
4863 | 4881 | "RateLimitIP":{
|
4864 | 4882 | "type":"structure",
|
4865 |
| - "members":{ |
4866 |
| - }, |
| 4883 | + "members":{}, |
4867 | 4884 | "documentation":"<p>Specifies the IP address in the web request as an aggregate key for a rate-based rule. Each distinct IP address contributes to the aggregation instance. </p> <p>This setting is used only in the <code>RateBasedStatementCustomKey</code> specification of a rate-based rule statement. To use this in the custom key settings, you must specify at least one other key to use, along with the IP address. To aggregate on only the IP address, in your rate-based statement's <code>AggregateKeyType</code>, specify <code>IP</code>.</p> <p>JSON specification: <code>\"RateLimitIP\": {}</code> </p>"
|
4868 | 4885 | },
|
4869 | 4886 | "RateLimitJA3Fingerprint":{
|
|
5823 | 5840 | "RegexMatchStatement":{
|
5824 | 5841 | "shape":"RegexMatchStatement",
|
5825 | 5842 | "documentation":"<p>A rule statement used to search web request components for a match against a single regular expression. </p>"
|
| 5843 | + }, |
| 5844 | + "AsnMatchStatement":{ |
| 5845 | + "shape":"AsnMatchStatement", |
| 5846 | + "documentation":"<p>A rule statement that inspects web traffic based on the Autonomous System Number (ASN) associated with the request's IP address.</p> <p>For additional details, see <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-type-asn-match.html\">ASN match rule statement</a> in the <a href=\"https://docs.aws.amazon.com/waf/latest/developerguide/waf-chapter.html\">WAF Developer Guide</a>. </p>" |
5826 | 5847 | }
|
5827 | 5848 | },
|
5828 | 5849 | "documentation":"<p>The processing guidance for a <a>Rule</a>, used by WAF to determine whether a web request matches the rule. </p> <p>For example specifications, see the examples section of <a>CreateWebACL</a>.</p>"
|
|
5910 | 5931 | },
|
5911 | 5932 | "TagResourceResponse":{
|
5912 | 5933 | "type":"structure",
|
5913 |
| - "members":{ |
5914 |
| - } |
| 5934 | + "members":{} |
5915 | 5935 | },
|
5916 | 5936 | "TagValue":{
|
5917 | 5937 | "type":"string",
|
|
6030 | 6050 | },
|
6031 | 6051 | "UntagResourceResponse":{
|
6032 | 6052 | "type":"structure",
|
6033 |
| - "members":{ |
6034 |
| - } |
| 6053 | + "members":{} |
6035 | 6054 | },
|
6036 | 6055 | "UpdateIPSetRequest":{
|
6037 | 6056 | "type":"structure",
|
|
6320 | 6339 | },
|
6321 | 6340 | "UriPath":{
|
6322 | 6341 | "type":"structure",
|
6323 |
| - "members":{ |
6324 |
| - }, |
| 6342 | + "members":{}, |
6325 | 6343 | "documentation":"<p>Inspect the path component of the URI of the web request. This is the part of the web request that identifies a resource. For example, <code>/images/daily-ad.jpg</code>.</p> <p>This is used in the <a>FieldToMatch</a> specification for some web request component types. </p> <p>JSON specification: <code>\"UriPath\": {}</code> </p>"
|
6326 | 6344 | },
|
6327 | 6345 | "UsernameField":{
|
|
0 commit comments