:doc:`WAFV2 <../../wafv2>` / Client / create_rule_group

*****************
create_rule_group
*****************



.. py:method:: WAFV2.Client.create_rule_group(**kwargs)

  

  Creates a  RuleGroup per the specifications provided.

   

  A rule group defines a collection of rules to inspect and control web requests that you can use in a  WebACL. When you create a rule group, you define an immutable capacity limit. If you update a rule group, you must stay within the capacity. This allows others to reuse the rule group with confidence in its capacity requirements.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateRuleGroup>`_  


  **Request Syntax**
  ::

    response = client.create_rule_group(
        Name='string',
        Scope='CLOUDFRONT'|'REGIONAL',
        Capacity=123,
        Description='string',
        Rules=[
            {
                'Name': 'string',
                'Priority': 123,
                'Statement': {
                    'ByteMatchStatement': {
                        'SearchString': b'bytes',
                        'FieldToMatch': {
                            'SingleHeader': {
                                'Name': 'string'
                            },
                            'SingleQueryArgument': {
                                'Name': 'string'
                            },
                            'AllQueryArguments': {}
                            ,
                            'UriPath': {}
                            ,
                            'QueryString': {}
                            ,
                            'Body': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Method': {}
                            ,
                            'JsonBody': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedPaths': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'InvalidFallbackBehavior': 'MATCH'|'NO_MATCH'|'EVALUATE_AS_STRING',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Headers': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedHeaders': [
                                        'string',
                                    ],
                                    'ExcludedHeaders': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Cookies': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedCookies': [
                                        'string',
                                    ],
                                    'ExcludedCookies': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'HeaderOrder': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'JA3Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'JA4Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'UriFragment': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            }
                        },
                        'TextTransformations': [
                            {
                                'Priority': 123,
                                'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                            },
                        ],
                        'PositionalConstraint': 'EXACTLY'|'STARTS_WITH'|'ENDS_WITH'|'CONTAINS'|'CONTAINS_WORD'
                    },
                    'SqliMatchStatement': {
                        'FieldToMatch': {
                            'SingleHeader': {
                                'Name': 'string'
                            },
                            'SingleQueryArgument': {
                                'Name': 'string'
                            },
                            'AllQueryArguments': {}
                            ,
                            'UriPath': {}
                            ,
                            'QueryString': {}
                            ,
                            'Body': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Method': {}
                            ,
                            'JsonBody': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedPaths': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'InvalidFallbackBehavior': 'MATCH'|'NO_MATCH'|'EVALUATE_AS_STRING',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Headers': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedHeaders': [
                                        'string',
                                    ],
                                    'ExcludedHeaders': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Cookies': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedCookies': [
                                        'string',
                                    ],
                                    'ExcludedCookies': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'HeaderOrder': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'JA3Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'JA4Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'UriFragment': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            }
                        },
                        'TextTransformations': [
                            {
                                'Priority': 123,
                                'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                            },
                        ],
                        'SensitivityLevel': 'LOW'|'HIGH'
                    },
                    'XssMatchStatement': {
                        'FieldToMatch': {
                            'SingleHeader': {
                                'Name': 'string'
                            },
                            'SingleQueryArgument': {
                                'Name': 'string'
                            },
                            'AllQueryArguments': {}
                            ,
                            'UriPath': {}
                            ,
                            'QueryString': {}
                            ,
                            'Body': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Method': {}
                            ,
                            'JsonBody': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedPaths': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'InvalidFallbackBehavior': 'MATCH'|'NO_MATCH'|'EVALUATE_AS_STRING',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Headers': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedHeaders': [
                                        'string',
                                    ],
                                    'ExcludedHeaders': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Cookies': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedCookies': [
                                        'string',
                                    ],
                                    'ExcludedCookies': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'HeaderOrder': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'JA3Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'JA4Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'UriFragment': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            }
                        },
                        'TextTransformations': [
                            {
                                'Priority': 123,
                                'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                            },
                        ]
                    },
                    'SizeConstraintStatement': {
                        'FieldToMatch': {
                            'SingleHeader': {
                                'Name': 'string'
                            },
                            'SingleQueryArgument': {
                                'Name': 'string'
                            },
                            'AllQueryArguments': {}
                            ,
                            'UriPath': {}
                            ,
                            'QueryString': {}
                            ,
                            'Body': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Method': {}
                            ,
                            'JsonBody': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedPaths': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'InvalidFallbackBehavior': 'MATCH'|'NO_MATCH'|'EVALUATE_AS_STRING',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Headers': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedHeaders': [
                                        'string',
                                    ],
                                    'ExcludedHeaders': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Cookies': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedCookies': [
                                        'string',
                                    ],
                                    'ExcludedCookies': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'HeaderOrder': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'JA3Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'JA4Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'UriFragment': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            }
                        },
                        'ComparisonOperator': 'EQ'|'NE'|'LE'|'LT'|'GE'|'GT',
                        'Size': 123,
                        'TextTransformations': [
                            {
                                'Priority': 123,
                                'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                            },
                        ]
                    },
                    'GeoMatchStatement': {
                        'CountryCodes': [
                            'AF'|'AX'|'AL'|'DZ'|'AS'|'AD'|'AO'|'AI'|'AQ'|'AG'|'AR'|'AM'|'AW'|'AU'|'AT'|'AZ'|'BS'|'BH'|'BD'|'BB'|'BY'|'BE'|'BZ'|'BJ'|'BM'|'BT'|'BO'|'BQ'|'BA'|'BW'|'BV'|'BR'|'IO'|'BN'|'BG'|'BF'|'BI'|'KH'|'CM'|'CA'|'CV'|'KY'|'CF'|'TD'|'CL'|'CN'|'CX'|'CC'|'CO'|'KM'|'CG'|'CD'|'CK'|'CR'|'CI'|'HR'|'CU'|'CW'|'CY'|'CZ'|'DK'|'DJ'|'DM'|'DO'|'EC'|'EG'|'SV'|'GQ'|'ER'|'EE'|'ET'|'FK'|'FO'|'FJ'|'FI'|'FR'|'GF'|'PF'|'TF'|'GA'|'GM'|'GE'|'DE'|'GH'|'GI'|'GR'|'GL'|'GD'|'GP'|'GU'|'GT'|'GG'|'GN'|'GW'|'GY'|'HT'|'HM'|'VA'|'HN'|'HK'|'HU'|'IS'|'IN'|'ID'|'IR'|'IQ'|'IE'|'IM'|'IL'|'IT'|'JM'|'JP'|'JE'|'JO'|'KZ'|'KE'|'KI'|'KP'|'KR'|'KW'|'KG'|'LA'|'LV'|'LB'|'LS'|'LR'|'LY'|'LI'|'LT'|'LU'|'MO'|'MK'|'MG'|'MW'|'MY'|'MV'|'ML'|'MT'|'MH'|'MQ'|'MR'|'MU'|'YT'|'MX'|'FM'|'MD'|'MC'|'MN'|'ME'|'MS'|'MA'|'MZ'|'MM'|'NA'|'NR'|'NP'|'NL'|'NC'|'NZ'|'NI'|'NE'|'NG'|'NU'|'NF'|'MP'|'NO'|'OM'|'PK'|'PW'|'PS'|'PA'|'PG'|'PY'|'PE'|'PH'|'PN'|'PL'|'PT'|'PR'|'QA'|'RE'|'RO'|'RU'|'RW'|'BL'|'SH'|'KN'|'LC'|'MF'|'PM'|'VC'|'WS'|'SM'|'ST'|'SA'|'SN'|'RS'|'SC'|'SL'|'SG'|'SX'|'SK'|'SI'|'SB'|'SO'|'ZA'|'GS'|'SS'|'ES'|'LK'|'SD'|'SR'|'SJ'|'SZ'|'SE'|'CH'|'SY'|'TW'|'TJ'|'TZ'|'TH'|'TL'|'TG'|'TK'|'TO'|'TT'|'TN'|'TR'|'TM'|'TC'|'TV'|'UG'|'UA'|'AE'|'GB'|'US'|'UM'|'UY'|'UZ'|'VU'|'VE'|'VN'|'VG'|'VI'|'WF'|'EH'|'YE'|'ZM'|'ZW'|'XK',
                        ],
                        'ForwardedIPConfig': {
                            'HeaderName': 'string',
                            'FallbackBehavior': 'MATCH'|'NO_MATCH'
                        }
                    },
                    'RuleGroupReferenceStatement': {
                        'ARN': 'string',
                        'ExcludedRules': [
                            {
                                'Name': 'string'
                            },
                        ],
                        'RuleActionOverrides': [
                            {
                                'Name': 'string',
                                'ActionToUse': {
                                    'Block': {
                                        'CustomResponse': {
                                            'ResponseCode': 123,
                                            'CustomResponseBodyKey': 'string',
                                            'ResponseHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Allow': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Count': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Captcha': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Challenge': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    }
                                }
                            },
                        ]
                    },
                    'IPSetReferenceStatement': {
                        'ARN': 'string',
                        'IPSetForwardedIPConfig': {
                            'HeaderName': 'string',
                            'FallbackBehavior': 'MATCH'|'NO_MATCH',
                            'Position': 'FIRST'|'LAST'|'ANY'
                        }
                    },
                    'RegexPatternSetReferenceStatement': {
                        'ARN': 'string',
                        'FieldToMatch': {
                            'SingleHeader': {
                                'Name': 'string'
                            },
                            'SingleQueryArgument': {
                                'Name': 'string'
                            },
                            'AllQueryArguments': {}
                            ,
                            'UriPath': {}
                            ,
                            'QueryString': {}
                            ,
                            'Body': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Method': {}
                            ,
                            'JsonBody': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedPaths': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'InvalidFallbackBehavior': 'MATCH'|'NO_MATCH'|'EVALUATE_AS_STRING',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Headers': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedHeaders': [
                                        'string',
                                    ],
                                    'ExcludedHeaders': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Cookies': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedCookies': [
                                        'string',
                                    ],
                                    'ExcludedCookies': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'HeaderOrder': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'JA3Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'JA4Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'UriFragment': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            }
                        },
                        'TextTransformations': [
                            {
                                'Priority': 123,
                                'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                            },
                        ]
                    },
                    'RateBasedStatement': {
                        'Limit': 123,
                        'EvaluationWindowSec': 123,
                        'AggregateKeyType': 'IP'|'FORWARDED_IP'|'CUSTOM_KEYS'|'CONSTANT',
                        'ScopeDownStatement': {'... recursive ...'},
                        'ForwardedIPConfig': {
                            'HeaderName': 'string',
                            'FallbackBehavior': 'MATCH'|'NO_MATCH'
                        },
                        'CustomKeys': [
                            {
                                'Header': {
                                    'Name': 'string',
                                    'TextTransformations': [
                                        {
                                            'Priority': 123,
                                            'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                                        },
                                    ]
                                },
                                'Cookie': {
                                    'Name': 'string',
                                    'TextTransformations': [
                                        {
                                            'Priority': 123,
                                            'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                                        },
                                    ]
                                },
                                'QueryArgument': {
                                    'Name': 'string',
                                    'TextTransformations': [
                                        {
                                            'Priority': 123,
                                            'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                                        },
                                    ]
                                },
                                'QueryString': {
                                    'TextTransformations': [
                                        {
                                            'Priority': 123,
                                            'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                                        },
                                    ]
                                },
                                'HTTPMethod': {}
                                ,
                                'ForwardedIP': {}
                                ,
                                'IP': {}
                                ,
                                'LabelNamespace': {
                                    'Namespace': 'string'
                                },
                                'UriPath': {
                                    'TextTransformations': [
                                        {
                                            'Priority': 123,
                                            'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                                        },
                                    ]
                                },
                                'JA3Fingerprint': {
                                    'FallbackBehavior': 'MATCH'|'NO_MATCH'
                                },
                                'JA4Fingerprint': {
                                    'FallbackBehavior': 'MATCH'|'NO_MATCH'
                                },
                                'ASN': {}
                                
                            },
                        ]
                    },
                    'AndStatement': {
                        'Statements': [
                            {'... recursive ...'},
                        ]
                    },
                    'OrStatement': {
                        'Statements': [
                            {'... recursive ...'},
                        ]
                    },
                    'NotStatement': {
                        'Statement': {'... recursive ...'}
                    },
                    'ManagedRuleGroupStatement': {
                        'VendorName': 'string',
                        'Name': 'string',
                        'Version': 'string',
                        'ExcludedRules': [
                            {
                                'Name': 'string'
                            },
                        ],
                        'ScopeDownStatement': {'... recursive ...'},
                        'ManagedRuleGroupConfigs': [
                            {
                                'LoginPath': 'string',
                                'PayloadType': 'JSON'|'FORM_ENCODED',
                                'UsernameField': {
                                    'Identifier': 'string'
                                },
                                'PasswordField': {
                                    'Identifier': 'string'
                                },
                                'AWSManagedRulesBotControlRuleSet': {
                                    'InspectionLevel': 'COMMON'|'TARGETED',
                                    'EnableMachineLearning': True|False
                                },
                                'AWSManagedRulesATPRuleSet': {
                                    'LoginPath': 'string',
                                    'RequestInspection': {
                                        'PayloadType': 'JSON'|'FORM_ENCODED',
                                        'UsernameField': {
                                            'Identifier': 'string'
                                        },
                                        'PasswordField': {
                                            'Identifier': 'string'
                                        }
                                    },
                                    'ResponseInspection': {
                                        'StatusCode': {
                                            'SuccessCodes': [
                                                123,
                                            ],
                                            'FailureCodes': [
                                                123,
                                            ]
                                        },
                                        'Header': {
                                            'Name': 'string',
                                            'SuccessValues': [
                                                'string',
                                            ],
                                            'FailureValues': [
                                                'string',
                                            ]
                                        },
                                        'BodyContains': {
                                            'SuccessStrings': [
                                                'string',
                                            ],
                                            'FailureStrings': [
                                                'string',
                                            ]
                                        },
                                        'Json': {
                                            'Identifier': 'string',
                                            'SuccessValues': [
                                                'string',
                                            ],
                                            'FailureValues': [
                                                'string',
                                            ]
                                        }
                                    },
                                    'EnableRegexInPath': True|False
                                },
                                'AWSManagedRulesACFPRuleSet': {
                                    'CreationPath': 'string',
                                    'RegistrationPagePath': 'string',
                                    'RequestInspection': {
                                        'PayloadType': 'JSON'|'FORM_ENCODED',
                                        'UsernameField': {
                                            'Identifier': 'string'
                                        },
                                        'PasswordField': {
                                            'Identifier': 'string'
                                        },
                                        'EmailField': {
                                            'Identifier': 'string'
                                        },
                                        'PhoneNumberFields': [
                                            {
                                                'Identifier': 'string'
                                            },
                                        ],
                                        'AddressFields': [
                                            {
                                                'Identifier': 'string'
                                            },
                                        ]
                                    },
                                    'ResponseInspection': {
                                        'StatusCode': {
                                            'SuccessCodes': [
                                                123,
                                            ],
                                            'FailureCodes': [
                                                123,
                                            ]
                                        },
                                        'Header': {
                                            'Name': 'string',
                                            'SuccessValues': [
                                                'string',
                                            ],
                                            'FailureValues': [
                                                'string',
                                            ]
                                        },
                                        'BodyContains': {
                                            'SuccessStrings': [
                                                'string',
                                            ],
                                            'FailureStrings': [
                                                'string',
                                            ]
                                        },
                                        'Json': {
                                            'Identifier': 'string',
                                            'SuccessValues': [
                                                'string',
                                            ],
                                            'FailureValues': [
                                                'string',
                                            ]
                                        }
                                    },
                                    'EnableRegexInPath': True|False
                                },
                                'AWSManagedRulesAntiDDoSRuleSet': {
                                    'ClientSideActionConfig': {
                                        'Challenge': {
                                            'UsageOfAction': 'ENABLED'|'DISABLED',
                                            'Sensitivity': 'LOW'|'MEDIUM'|'HIGH',
                                            'ExemptUriRegularExpressions': [
                                                {
                                                    'RegexString': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'SensitivityToBlock': 'LOW'|'MEDIUM'|'HIGH'
                                }
                            },
                        ],
                        'RuleActionOverrides': [
                            {
                                'Name': 'string',
                                'ActionToUse': {
                                    'Block': {
                                        'CustomResponse': {
                                            'ResponseCode': 123,
                                            'CustomResponseBodyKey': 'string',
                                            'ResponseHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Allow': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Count': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Captcha': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    },
                                    'Challenge': {
                                        'CustomRequestHandling': {
                                            'InsertHeaders': [
                                                {
                                                    'Name': 'string',
                                                    'Value': 'string'
                                                },
                                            ]
                                        }
                                    }
                                }
                            },
                        ]
                    },
                    'LabelMatchStatement': {
                        'Scope': 'LABEL'|'NAMESPACE',
                        'Key': 'string'
                    },
                    'RegexMatchStatement': {
                        'RegexString': 'string',
                        'FieldToMatch': {
                            'SingleHeader': {
                                'Name': 'string'
                            },
                            'SingleQueryArgument': {
                                'Name': 'string'
                            },
                            'AllQueryArguments': {}
                            ,
                            'UriPath': {}
                            ,
                            'QueryString': {}
                            ,
                            'Body': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Method': {}
                            ,
                            'JsonBody': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedPaths': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'InvalidFallbackBehavior': 'MATCH'|'NO_MATCH'|'EVALUATE_AS_STRING',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Headers': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedHeaders': [
                                        'string',
                                    ],
                                    'ExcludedHeaders': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'Cookies': {
                                'MatchPattern': {
                                    'All': {}
                                    ,
                                    'IncludedCookies': [
                                        'string',
                                    ],
                                    'ExcludedCookies': [
                                        'string',
                                    ]
                                },
                                'MatchScope': 'ALL'|'KEY'|'VALUE',
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'HeaderOrder': {
                                'OversizeHandling': 'CONTINUE'|'MATCH'|'NO_MATCH'
                            },
                            'JA3Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'JA4Fingerprint': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            },
                            'UriFragment': {
                                'FallbackBehavior': 'MATCH'|'NO_MATCH'
                            }
                        },
                        'TextTransformations': [
                            {
                                'Priority': 123,
                                'Type': 'NONE'|'COMPRESS_WHITE_SPACE'|'HTML_ENTITY_DECODE'|'LOWERCASE'|'CMD_LINE'|'URL_DECODE'|'BASE64_DECODE'|'HEX_DECODE'|'MD5'|'REPLACE_COMMENTS'|'ESCAPE_SEQ_DECODE'|'SQL_HEX_DECODE'|'CSS_DECODE'|'JS_DECODE'|'NORMALIZE_PATH'|'NORMALIZE_PATH_WIN'|'REMOVE_NULLS'|'REPLACE_NULLS'|'BASE64_DECODE_EXT'|'URL_DECODE_UNI'|'UTF8_TO_UNICODE'
                            },
                        ]
                    },
                    'AsnMatchStatement': {
                        'AsnList': [
                            123,
                        ],
                        'ForwardedIPConfig': {
                            'HeaderName': 'string',
                            'FallbackBehavior': 'MATCH'|'NO_MATCH'
                        }
                    }
                },
                'Action': {
                    'Block': {
                        'CustomResponse': {
                            'ResponseCode': 123,
                            'CustomResponseBodyKey': 'string',
                            'ResponseHeaders': [
                                {
                                    'Name': 'string',
                                    'Value': 'string'
                                },
                            ]
                        }
                    },
                    'Allow': {
                        'CustomRequestHandling': {
                            'InsertHeaders': [
                                {
                                    'Name': 'string',
                                    'Value': 'string'
                                },
                            ]
                        }
                    },
                    'Count': {
                        'CustomRequestHandling': {
                            'InsertHeaders': [
                                {
                                    'Name': 'string',
                                    'Value': 'string'
                                },
                            ]
                        }
                    },
                    'Captcha': {
                        'CustomRequestHandling': {
                            'InsertHeaders': [
                                {
                                    'Name': 'string',
                                    'Value': 'string'
                                },
                            ]
                        }
                    },
                    'Challenge': {
                        'CustomRequestHandling': {
                            'InsertHeaders': [
                                {
                                    'Name': 'string',
                                    'Value': 'string'
                                },
                            ]
                        }
                    }
                },
                'OverrideAction': {
                    'Count': {
                        'CustomRequestHandling': {
                            'InsertHeaders': [
                                {
                                    'Name': 'string',
                                    'Value': 'string'
                                },
                            ]
                        }
                    },
                    'None': {}
                    
                },
                'RuleLabels': [
                    {
                        'Name': 'string'
                    },
                ],
                'VisibilityConfig': {
                    'SampledRequestsEnabled': True|False,
                    'CloudWatchMetricsEnabled': True|False,
                    'MetricName': 'string'
                },
                'CaptchaConfig': {
                    'ImmunityTimeProperty': {
                        'ImmunityTime': 123
                    }
                },
                'ChallengeConfig': {
                    'ImmunityTimeProperty': {
                        'ImmunityTime': 123
                    }
                }
            },
        ],
        VisibilityConfig={
            'SampledRequestsEnabled': True|False,
            'CloudWatchMetricsEnabled': True|False,
            'MetricName': 'string'
        },
        Tags=[
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        CustomResponseBodies={
            'string': {
                'ContentType': 'TEXT_PLAIN'|'TEXT_HTML'|'APPLICATION_JSON',
                'Content': 'string'
            }
        }
    )
    

    **Parameters**
    ::

        # This section is too large to render.
        # Please see the AWS API Documentation linked below.

    `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/wafv2-2019-07-29/CreateRuleGroup>`_


    
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'Summary': {
              'Name': 'string',
              'Id': 'string',
              'Description': 'string',
              'LockToken': 'string',
              'ARN': 'string'
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **Summary** *(dict) --* 

        High-level information about a  RuleGroup, returned by operations like create and list. This provides information like the ID, that you can use to retrieve and manage a ``RuleGroup``, and the ARN, that you provide to the  RuleGroupReferenceStatement to use the rule group in a  Rule.

        
        

        - **Name** *(string) --* 

          The name of the data type instance. You cannot change the name after you create the instance.

          
        

        - **Id** *(string) --* 

          A unique identifier for the rule group. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.

          
        

        - **Description** *(string) --* 

          A description of the rule group that helps with identification.

          
        

        - **LockToken** *(string) --* 

          A token used for optimistic locking. WAF returns a token to your ``get`` and ``list`` requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like ``update`` and ``delete``. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a ``WAFOptimisticLockException``. If this happens, perform another ``get``, and use the new token returned by that operation.

          
        

        - **ARN** *(string) --* 

          The Amazon Resource Name (ARN) of the entity.

          
    
  
  **Exceptions**
  
  *   :py:class:`WAFV2.Client.exceptions.WAFInternalErrorException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFInvalidParameterException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFDuplicateItemException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFOptimisticLockException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFLimitsExceededException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFUnavailableEntityException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFTagOperationException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFTagOperationInternalErrorException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFSubscriptionNotFoundException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFNonexistentItemException`

  
  *   :py:class:`WAFV2.Client.exceptions.WAFInvalidOperationException`

  