AssociateWebACL

valid {
    input.Body.WebACLArn == STRING
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CheckCapacity

enum_BodyParsingFallbackBehavior := [ "MATCH", "NO_MATCH", "EVALUATE_AS_STRING" ]
enum_ComparisonOperator := [ "EQ", "NE", "LE", "LT", "GE", "GT" ]
enum_CountryCode := [ "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" ]
enum_FallbackBehavior := [ "MATCH", "NO_MATCH" ]
enum_ForwardedIPPosition := [ "FIRST", "LAST", "ANY" ]
enum_InspectionLevel := [ "COMMON", "TARGETED" ]
enum_JsonMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_LabelMatchScope := [ "LABEL", "NAMESPACE" ]
enum_MapMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_OversizeHandling := [ "CONTINUE", "MATCH", "NO_MATCH" ]
enum_PayloadType := [ "JSON", "FORM_ENCODED" ]
enum_PositionalConstraint := [ "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD" ]
enum_RateBasedStatementAggregateKeyType := [ "IP", "FORWARDED_IP", "CUSTOM_KEYS", "CONSTANT" ]
enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]
enum_SensitivityLevel := [ "LOW", "HIGH" ]
enum_TextTransformationType := [ "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" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.Rules[_].Name == STRING
    input.Body.Rules[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.SearchString == BLOB
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.PositionalConstraint == enum_PositionalConstraint[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.SensitivityLevel == enum_SensitivityLevel[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.Size == LONG
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.CountryCodes[_] == enum_CountryCode[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position == enum_ForwardedIPPosition[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.Limit == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.EvaluationWindowSec == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.AggregateKeyType == enum_RateBasedStatementAggregateKeyType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].HTTPMethod == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].ForwardedIP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].IP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].LabelNamespace.Namespace == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.AndStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.OrStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.NotStatement.Statement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.VendorName == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Version == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.InspectionLevel == enum_InspectionLevel[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.EnableMachineLearning == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.CreationPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RegistrationPagePath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.EmailField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PhoneNumberFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.AddressFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.LabelMatchStatement.Scope == enum_LabelMatchScope[_]
    input.Body.Rules[_].Statement.LabelMatchStatement.Key == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.RegexString == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Action.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.None == {}
    input.Body.Rules[_].RuleLabels[_].Name == STRING
    input.Body.Rules[_].VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.MetricName == STRING
    input.Body.Rules[_].CaptchaConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.Rules[_].ChallengeConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateAPIKey

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.TokenDomains[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateIPSet

enum_IPAddressVersion := [ "IPV4", "IPV6" ]
enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Description == STRING
    input.Body.IPAddressVersion == enum_IPAddressVersion[_]
    input.Body.Addresses[_] == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRegexPatternSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Description == STRING
    input.Body.RegularExpressionList[_].RegexString == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateRuleGroup

enum_BodyParsingFallbackBehavior := [ "MATCH", "NO_MATCH", "EVALUATE_AS_STRING" ]
enum_ComparisonOperator := [ "EQ", "NE", "LE", "LT", "GE", "GT" ]
enum_CountryCode := [ "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" ]
enum_FallbackBehavior := [ "MATCH", "NO_MATCH" ]
enum_ForwardedIPPosition := [ "FIRST", "LAST", "ANY" ]
enum_InspectionLevel := [ "COMMON", "TARGETED" ]
enum_JsonMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_LabelMatchScope := [ "LABEL", "NAMESPACE" ]
enum_MapMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_OversizeHandling := [ "CONTINUE", "MATCH", "NO_MATCH" ]
enum_PayloadType := [ "JSON", "FORM_ENCODED" ]
enum_PositionalConstraint := [ "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD" ]
enum_RateBasedStatementAggregateKeyType := [ "IP", "FORWARDED_IP", "CUSTOM_KEYS", "CONSTANT" ]
enum_ResponseContentType := [ "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON" ]
enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]
enum_SensitivityLevel := [ "LOW", "HIGH" ]
enum_TextTransformationType := [ "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" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Capacity == LONG
    input.Body.Description == STRING
    input.Body.Rules[_].Name == STRING
    input.Body.Rules[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.SearchString == BLOB
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.PositionalConstraint == enum_PositionalConstraint[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.SensitivityLevel == enum_SensitivityLevel[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.Size == LONG
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.CountryCodes[_] == enum_CountryCode[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position == enum_ForwardedIPPosition[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.Limit == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.EvaluationWindowSec == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.AggregateKeyType == enum_RateBasedStatementAggregateKeyType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].HTTPMethod == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].ForwardedIP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].IP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].LabelNamespace.Namespace == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.AndStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.OrStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.NotStatement.Statement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.VendorName == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Version == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.InspectionLevel == enum_InspectionLevel[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.EnableMachineLearning == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.CreationPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RegistrationPagePath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.EmailField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PhoneNumberFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.AddressFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.LabelMatchStatement.Scope == enum_LabelMatchScope[_]
    input.Body.Rules[_].Statement.LabelMatchStatement.Key == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.RegexString == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Action.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.None == {}
    input.Body.Rules[_].RuleLabels[_].Name == STRING
    input.Body.Rules[_].VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.MetricName == STRING
    input.Body.Rules[_].CaptchaConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.Rules[_].ChallengeConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.VisibilityConfig.MetricName == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.CustomResponseBodies.STRING.ContentType == enum_ResponseContentType[_]
    input.Body.CustomResponseBodies.STRING.Content == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

CreateWebACL

enum_BodyParsingFallbackBehavior := [ "MATCH", "NO_MATCH", "EVALUATE_AS_STRING" ]
enum_ComparisonOperator := [ "EQ", "NE", "LE", "LT", "GE", "GT" ]
enum_CountryCode := [ "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" ]
enum_FallbackBehavior := [ "MATCH", "NO_MATCH" ]
enum_ForwardedIPPosition := [ "FIRST", "LAST", "ANY" ]
enum_InspectionLevel := [ "COMMON", "TARGETED" ]
enum_JsonMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_LabelMatchScope := [ "LABEL", "NAMESPACE" ]
enum_MapMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_OversizeHandling := [ "CONTINUE", "MATCH", "NO_MATCH" ]
enum_PayloadType := [ "JSON", "FORM_ENCODED" ]
enum_PositionalConstraint := [ "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD" ]
enum_RateBasedStatementAggregateKeyType := [ "IP", "FORWARDED_IP", "CUSTOM_KEYS", "CONSTANT" ]
enum_ResponseContentType := [ "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON" ]
enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]
enum_SensitivityLevel := [ "LOW", "HIGH" ]
enum_SizeInspectionLimit := [ "KB_16", "KB_32", "KB_48", "KB_64" ]
enum_TextTransformationType := [ "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" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.DefaultAction.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.DefaultAction.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.DefaultAction.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.DefaultAction.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.DefaultAction.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.DefaultAction.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Description == STRING
    input.Body.Rules[_].Name == STRING
    input.Body.Rules[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.SearchString == BLOB
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.PositionalConstraint == enum_PositionalConstraint[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.SensitivityLevel == enum_SensitivityLevel[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.Size == LONG
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.CountryCodes[_] == enum_CountryCode[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position == enum_ForwardedIPPosition[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.Limit == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.EvaluationWindowSec == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.AggregateKeyType == enum_RateBasedStatementAggregateKeyType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].HTTPMethod == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].ForwardedIP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].IP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].LabelNamespace.Namespace == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.AndStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.OrStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.NotStatement.Statement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.VendorName == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Version == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.InspectionLevel == enum_InspectionLevel[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.EnableMachineLearning == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.CreationPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RegistrationPagePath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.EmailField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PhoneNumberFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.AddressFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.LabelMatchStatement.Scope == enum_LabelMatchScope[_]
    input.Body.Rules[_].Statement.LabelMatchStatement.Key == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.RegexString == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Action.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.None == {}
    input.Body.Rules[_].RuleLabels[_].Name == STRING
    input.Body.Rules[_].VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.MetricName == STRING
    input.Body.Rules[_].CaptchaConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.Rules[_].ChallengeConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.VisibilityConfig.MetricName == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.Body.CustomResponseBodies.STRING.ContentType == enum_ResponseContentType[_]
    input.Body.CustomResponseBodies.STRING.Content == STRING
    input.Body.CaptchaConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.ChallengeConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.TokenDomains[_] == STRING
    input.Body.AssociationConfig.RequestBody.CLOUDFRONT.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.API_GATEWAY.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.COGNITO_USER_POOL.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.APP_RUNNER_SERVICE.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.VERIFIED_ACCESS_INSTANCE.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteAPIKey

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.APIKey == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteFirewallManagerRuleGroups

valid {
    input.Body.WebACLArn == STRING
    input.Body.WebACLLockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteIPSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.LockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteLoggingConfiguration

valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeletePermissionPolicy

valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteRegexPatternSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.LockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteRuleGroup

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.LockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DeleteWebACL

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.LockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeAllManagedProducts

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeManagedProductsByVendor

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.VendorName == STRING
    input.Body.Scope == enum_Scope[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DescribeManagedRuleGroup

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.VendorName == STRING
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.VersionName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

DisassociateWebACL

valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GenerateMobileSdkReleaseUrl

enum_Platform := [ "IOS", "ANDROID" ]

valid {
    input.Body.Platform == enum_Platform[_]
    input.Body.ReleaseVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetDecryptedAPIKey

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.APIKey == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetIPSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetLoggingConfiguration

valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetManagedRuleSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetMobileSdkRelease

enum_Platform := [ "IOS", "ANDROID" ]

valid {
    input.Body.Platform == enum_Platform[_]
    input.Body.ReleaseVersion == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetPermissionPolicy

valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetRateBasedStatementManagedKeys

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.WebACLName == STRING
    input.Body.WebACLId == STRING
    input.Body.RuleGroupRuleName == STRING
    input.Body.RuleName == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetRegexPatternSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetRuleGroup

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.ARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetSampledRequests

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.WebAclArn == STRING
    input.Body.RuleMetricName == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.TimeWindow.StartTime == TIMESTAMP
    input.Body.TimeWindow.EndTime == TIMESTAMP
    input.Body.MaxItems == LONG
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWebACL

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

GetWebACLForResource

valid {
    input.Body.ResourceArn == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAPIKeys

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAvailableManagedRuleGroupVersions

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.VendorName == STRING
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListAvailableManagedRuleGroups

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListIPSets

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListLoggingConfigurations

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListManagedRuleSets

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListMobileSdkReleases

enum_Platform := [ "IOS", "ANDROID" ]

valid {
    input.Body.Platform == enum_Platform[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRegexPatternSets

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListResourcesForWebACL

enum_ResourceType := [ "APPLICATION_LOAD_BALANCER", "API_GATEWAY", "APPSYNC", "COGNITO_USER_POOL", "APP_RUNNER_SERVICE", "VERIFIED_ACCESS_INSTANCE" ]

valid {
    input.Body.WebACLArn == STRING
    input.Body.ResourceType == enum_ResourceType[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListRuleGroups

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListTagsForResource

valid {
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.Body.ResourceARN == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

ListWebACLs

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Scope == enum_Scope[_]
    input.Body.NextMarker == STRING
    input.Body.Limit == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutLoggingConfiguration

enum_ActionValue := [ "ALLOW", "BLOCK", "COUNT", "CAPTCHA", "CHALLENGE", "EXCLUDED_AS_COUNT" ]
enum_BodyParsingFallbackBehavior := [ "MATCH", "NO_MATCH", "EVALUATE_AS_STRING" ]
enum_FallbackBehavior := [ "MATCH", "NO_MATCH" ]
enum_FilterBehavior := [ "KEEP", "DROP" ]
enum_FilterRequirement := [ "MEETS_ALL", "MEETS_ANY" ]
enum_JsonMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_MapMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_OversizeHandling := [ "CONTINUE", "MATCH", "NO_MATCH" ]

valid {
    input.Body.LoggingConfiguration.ResourceArn == STRING
    input.Body.LoggingConfiguration.LogDestinationConfigs[_] == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].SingleHeader.Name == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].SingleQueryArgument.Name == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].AllQueryArguments == {}
    input.Body.LoggingConfiguration.RedactedFields[_].UriPath == {}
    input.Body.LoggingConfiguration.RedactedFields[_].QueryString == {}
    input.Body.LoggingConfiguration.RedactedFields[_].Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.LoggingConfiguration.RedactedFields[_].Method == {}
    input.Body.LoggingConfiguration.RedactedFields[_].JsonBody.MatchPattern.All == {}
    input.Body.LoggingConfiguration.RedactedFields[_].JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.LoggingConfiguration.RedactedFields[_].JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.LoggingConfiguration.RedactedFields[_].JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.LoggingConfiguration.RedactedFields[_].Headers.MatchPattern.All == {}
    input.Body.LoggingConfiguration.RedactedFields[_].Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.LoggingConfiguration.RedactedFields[_].Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.LoggingConfiguration.RedactedFields[_].Cookies.MatchPattern.All == {}
    input.Body.LoggingConfiguration.RedactedFields[_].Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.LoggingConfiguration.RedactedFields[_].Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.LoggingConfiguration.RedactedFields[_].Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.LoggingConfiguration.RedactedFields[_].HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.LoggingConfiguration.RedactedFields[_].JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.LoggingConfiguration.ManagedByFirewallManager == BOOLEAN
    input.Body.LoggingConfiguration.LoggingFilter.Filters[_].Behavior == enum_FilterBehavior[_]
    input.Body.LoggingConfiguration.LoggingFilter.Filters[_].Requirement == enum_FilterRequirement[_]
    input.Body.LoggingConfiguration.LoggingFilter.Filters[_].Conditions[_].ActionCondition.Action == enum_ActionValue[_]
    input.Body.LoggingConfiguration.LoggingFilter.Filters[_].Conditions[_].LabelNameCondition.LabelName == STRING
    input.Body.LoggingConfiguration.LoggingFilter.DefaultBehavior == enum_FilterBehavior[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutManagedRuleSetVersions

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.LockToken == STRING
    input.Body.RecommendedVersion == STRING
    input.Body.VersionsToPublish.STRING.AssociatedRuleGroupArn == STRING
    input.Body.VersionsToPublish.STRING.ForecastedLifetime == INTEGER
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

PutPermissionPolicy

valid {
    input.Body.ResourceArn == STRING
    input.Body.Policy == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

TagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.Tags[_].Key == STRING
    input.Body.Tags[_].Value == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UntagResource

valid {
    input.Body.ResourceARN == STRING
    input.Body.TagKeys[_] == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateIPSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.Description == STRING
    input.Body.Addresses[_] == STRING
    input.Body.LockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateManagedRuleSetVersionExpiryDate

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.LockToken == STRING
    input.Body.VersionToExpire == STRING
    input.Body.ExpiryTimestamp == TIMESTAMP
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateRegexPatternSet

enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.Description == STRING
    input.Body.RegularExpressionList[_].RegexString == STRING
    input.Body.LockToken == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateRuleGroup

enum_BodyParsingFallbackBehavior := [ "MATCH", "NO_MATCH", "EVALUATE_AS_STRING" ]
enum_ComparisonOperator := [ "EQ", "NE", "LE", "LT", "GE", "GT" ]
enum_CountryCode := [ "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" ]
enum_FallbackBehavior := [ "MATCH", "NO_MATCH" ]
enum_ForwardedIPPosition := [ "FIRST", "LAST", "ANY" ]
enum_InspectionLevel := [ "COMMON", "TARGETED" ]
enum_JsonMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_LabelMatchScope := [ "LABEL", "NAMESPACE" ]
enum_MapMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_OversizeHandling := [ "CONTINUE", "MATCH", "NO_MATCH" ]
enum_PayloadType := [ "JSON", "FORM_ENCODED" ]
enum_PositionalConstraint := [ "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD" ]
enum_RateBasedStatementAggregateKeyType := [ "IP", "FORWARDED_IP", "CUSTOM_KEYS", "CONSTANT" ]
enum_ResponseContentType := [ "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON" ]
enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]
enum_SensitivityLevel := [ "LOW", "HIGH" ]
enum_TextTransformationType := [ "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" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.Description == STRING
    input.Body.Rules[_].Name == STRING
    input.Body.Rules[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.SearchString == BLOB
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.PositionalConstraint == enum_PositionalConstraint[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.SensitivityLevel == enum_SensitivityLevel[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.Size == LONG
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.CountryCodes[_] == enum_CountryCode[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position == enum_ForwardedIPPosition[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.Limit == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.EvaluationWindowSec == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.AggregateKeyType == enum_RateBasedStatementAggregateKeyType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].HTTPMethod == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].ForwardedIP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].IP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].LabelNamespace.Namespace == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.AndStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.OrStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.NotStatement.Statement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.VendorName == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Version == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.InspectionLevel == enum_InspectionLevel[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.EnableMachineLearning == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.CreationPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RegistrationPagePath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.EmailField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PhoneNumberFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.AddressFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.LabelMatchStatement.Scope == enum_LabelMatchScope[_]
    input.Body.Rules[_].Statement.LabelMatchStatement.Key == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.RegexString == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Action.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.None == {}
    input.Body.Rules[_].RuleLabels[_].Name == STRING
    input.Body.Rules[_].VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.MetricName == STRING
    input.Body.Rules[_].CaptchaConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.Rules[_].ChallengeConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.VisibilityConfig.MetricName == STRING
    input.Body.LockToken == STRING
    input.Body.CustomResponseBodies.STRING.ContentType == enum_ResponseContentType[_]
    input.Body.CustomResponseBodies.STRING.Content == STRING
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}

UpdateWebACL

enum_BodyParsingFallbackBehavior := [ "MATCH", "NO_MATCH", "EVALUATE_AS_STRING" ]
enum_ComparisonOperator := [ "EQ", "NE", "LE", "LT", "GE", "GT" ]
enum_CountryCode := [ "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" ]
enum_FallbackBehavior := [ "MATCH", "NO_MATCH" ]
enum_ForwardedIPPosition := [ "FIRST", "LAST", "ANY" ]
enum_InspectionLevel := [ "COMMON", "TARGETED" ]
enum_JsonMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_LabelMatchScope := [ "LABEL", "NAMESPACE" ]
enum_MapMatchScope := [ "ALL", "KEY", "VALUE" ]
enum_OversizeHandling := [ "CONTINUE", "MATCH", "NO_MATCH" ]
enum_PayloadType := [ "JSON", "FORM_ENCODED" ]
enum_PositionalConstraint := [ "EXACTLY", "STARTS_WITH", "ENDS_WITH", "CONTAINS", "CONTAINS_WORD" ]
enum_RateBasedStatementAggregateKeyType := [ "IP", "FORWARDED_IP", "CUSTOM_KEYS", "CONSTANT" ]
enum_ResponseContentType := [ "TEXT_PLAIN", "TEXT_HTML", "APPLICATION_JSON" ]
enum_Scope := [ "CLOUDFRONT", "REGIONAL" ]
enum_SensitivityLevel := [ "LOW", "HIGH" ]
enum_SizeInspectionLimit := [ "KB_16", "KB_32", "KB_48", "KB_64" ]
enum_TextTransformationType := [ "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" ]

valid {
    input.Body.Name == STRING
    input.Body.Scope == enum_Scope[_]
    input.Body.Id == STRING
    input.Body.DefaultAction.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.DefaultAction.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.DefaultAction.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.DefaultAction.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.DefaultAction.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.DefaultAction.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Description == STRING
    input.Body.Rules[_].Name == STRING
    input.Body.Rules[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.SearchString == BLOB
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.ByteMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.ByteMatchStatement.PositionalConstraint == enum_PositionalConstraint[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SqliMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SqliMatchStatement.SensitivityLevel == enum_SensitivityLevel[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.XssMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.XssMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.ComparisonOperator == enum_ComparisonOperator[_]
    input.Body.Rules[_].Statement.SizeConstraintStatement.Size == LONG
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.SizeConstraintStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.CountryCodes[_] == enum_CountryCode[_]
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.GeoMatchStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.RuleGroupReferenceStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.IPSetReferenceStatement.IPSetForwardedIPConfig.Position == enum_ForwardedIPPosition[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.ARN == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexPatternSetReferenceStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.Limit == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.EvaluationWindowSec == LONG
    input.Body.Rules[_].Statement.RateBasedStatement.AggregateKeyType == enum_RateBasedStatementAggregateKeyType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.HeaderName == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.ForwardedIPConfig.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Header.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].Cookie.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryArgument.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].QueryString.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].HTTPMethod == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].ForwardedIP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].IP == {}
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].LabelNamespace.Namespace == STRING
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RateBasedStatement.CustomKeys[_].UriPath.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Statement.AndStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.OrStatement.Statements[_] == NESTED
    input.Body.Rules[_].Statement.NotStatement.Statement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.VendorName == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.Version == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ExcludedRules[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ScopeDownStatement == NESTED
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.InspectionLevel == enum_InspectionLevel[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesBotControlRuleSet.EnableMachineLearning == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.LoginPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesATPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.CreationPath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RegistrationPagePath == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PayloadType == enum_PayloadType[_]
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.UsernameField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PasswordField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.EmailField.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.PhoneNumberFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.RequestInspection.AddressFields[_].Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.SuccessCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.StatusCode.FailureCodes[_] == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Header.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.SuccessStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.BodyContains.FailureStrings[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.Identifier == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.SuccessValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.ResponseInspection.Json.FailureValues[_] == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.ManagedRuleGroupConfigs[_].AWSManagedRulesACFPRuleSet.EnableRegexInPath == BOOLEAN
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Statement.ManagedRuleGroupStatement.RuleActionOverrides[_].ActionToUse.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Statement.LabelMatchStatement.Scope == enum_LabelMatchScope[_]
    input.Body.Rules[_].Statement.LabelMatchStatement.Key == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.RegexString == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleHeader.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.SingleQueryArgument.Name == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.AllQueryArguments == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.UriPath == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.QueryString == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Body.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Method == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchPattern.IncludedPaths[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.MatchScope == enum_JsonMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.InvalidFallbackBehavior == enum_BodyParsingFallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JsonBody.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.IncludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchPattern.ExcludedHeaders[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Headers.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.All == {}
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.IncludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchPattern.ExcludedCookies[_] == STRING
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.MatchScope == enum_MapMatchScope[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.Cookies.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.HeaderOrder.OversizeHandling == enum_OversizeHandling[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.FieldToMatch.JA3Fingerprint.FallbackBehavior == enum_FallbackBehavior[_]
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Priority == INTEGER
    input.Body.Rules[_].Statement.RegexMatchStatement.TextTransformations[_].Type == enum_TextTransformationType[_]
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseCode == INTEGER
    input.Body.Rules[_].Action.Block.CustomResponse.CustomResponseBodyKey == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Block.CustomResponse.ResponseHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Allow.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Captcha.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].Action.Challenge.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Name == STRING
    input.Body.Rules[_].OverrideAction.Count.CustomRequestHandling.InsertHeaders[_].Value == STRING
    input.Body.Rules[_].OverrideAction.None == {}
    input.Body.Rules[_].RuleLabels[_].Name == STRING
    input.Body.Rules[_].VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.Rules[_].VisibilityConfig.MetricName == STRING
    input.Body.Rules[_].CaptchaConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.Rules[_].ChallengeConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.VisibilityConfig.SampledRequestsEnabled == BOOLEAN
    input.Body.VisibilityConfig.CloudWatchMetricsEnabled == BOOLEAN
    input.Body.VisibilityConfig.MetricName == STRING
    input.Body.LockToken == STRING
    input.Body.CustomResponseBodies.STRING.ContentType == enum_ResponseContentType[_]
    input.Body.CustomResponseBodies.STRING.Content == STRING
    input.Body.CaptchaConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.ChallengeConfig.ImmunityTimeProperty.ImmunityTime == LONG
    input.Body.TokenDomains[_] == STRING
    input.Body.AssociationConfig.RequestBody.CLOUDFRONT.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.API_GATEWAY.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.COGNITO_USER_POOL.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.APP_RUNNER_SERVICE.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.Body.AssociationConfig.RequestBody.VERIFIED_ACCESS_INSTANCE.DefaultSizeInspectionLimit == enum_SizeInspectionLimit[_]
    input.ProviderMetadata.Account == STRING
    input.ProviderMetadata.AccessKeyId == STRING
    input.ProviderMetadata.Region == STRING
}