{
  "Name": "CompleteValidationRule",
  "Priority": 2,
  "Statement": {
    "AndStatement": {
      "Statements": [
        {
          "ByteMatchStatement": {
            "SearchString": "curl/8.7.1",
            "FieldToMatch": {
              "SingleHeader": {
                "Name": "user-agent"
              }
            },
            "TextTransformations": [
              {
                "Priority": 0,
                "Type": "NONE"
              }
            ],
            "PositionalConstraint": "EXACTLY"
          }
        },
        {
          "NotStatement": {
            "Statement": {
              "RegexMatchStatement": {
                "RegexString": "^.*",
                "FieldToMatch": {
                  "Headers": {
                    "MatchPattern": {
                      "ExcludedHeaders": [
                        "user-agent",
                        "content-type",
                        "host",
                        "Content-Length",
                        "Accept",
                        "baggage",
                        "x-vercel-id",
                        "Connection"
                      ]
                    },
                    "MatchScope": "ALL",
                    "OversizeHandling": "CONTINUE"
                  }
                },
                "TextTransformations": [
                  {
                    "Priority": 0,
                    "Type": "NONE"
                  }
                ]
              }
            }
          }
        },
        {
          "OrStatement": {
            "Statements": [
              {
                "AndStatement": {
                  "Statements": [
                    {
                      "ByteMatchStatement": {
                        "SearchString": "POST",
                        "FieldToMatch": {
                          "Method": {}
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "EXACTLY"
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "/v1/user",
                        "FieldToMatch": {
                          "UriPath": {}
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "EXACTLY"
                      }
                    },
                    {
                      "RegexMatchStatement": {
                        "RegexString": "^[0-9]+$",
                        "FieldToMatch": {
                          "JsonBody": {
                            "MatchPattern": {
                              "IncludedPaths": [
                                "/requestid"
                              ]
                            },
                            "MatchScope": "ALL",
                            "InvalidFallbackBehavior": "MATCH",
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ]
                      }
                    },
                    {
                      "RegexMatchStatement": {
                        "RegexString": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
                        "FieldToMatch": {
                          "JsonBody": {
                            "MatchPattern": {
                              "IncludedPaths": [
                                "/uuid"
                              ]
                            },
                            "MatchScope": "ALL",
                            "InvalidFallbackBehavior": "MATCH",
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ]
                      }
                    },
                    {
                      "RegexMatchStatement": {
                        "RegexString": "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$",
                        "FieldToMatch": {
                          "JsonBody": {
                            "MatchPattern": {
                              "IncludedPaths": [
                                "/email"
                              ]
                            },
                            "MatchScope": "ALL",
                            "InvalidFallbackBehavior": "MATCH",
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ]
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "username",
                        "FieldToMatch": {
                          "Body": {
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "CONTAINS"
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "status_message",
                        "FieldToMatch": {
                          "Body": {
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "CONTAINS"
                      }
                    },
                    {
                      "NotStatement": {
                        "Statement": {
                          "RegexMatchStatement": {
                            "RegexString": "([^:]*:){6,}",
                            "FieldToMatch": {
                              "Body": {
                                "OversizeHandling": "CONTINUE"
                              }
                            },
                            "TextTransformations": [
                              {
                                "Priority": 0,
                                "Type": "NONE"
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              },
              {
                "AndStatement": {
                  "Statements": [
                    {
                      "ByteMatchStatement": {
                        "SearchString": "POST",
                        "FieldToMatch": {
                          "Method": {}
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "EXACTLY"
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "/v1/product",
                        "FieldToMatch": {
                          "UriPath": {}
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "EXACTLY"
                      }
                    },
                    {
                      "RegexMatchStatement": {
                        "RegexString": "^[0-9]+$",
                        "FieldToMatch": {
                          "JsonBody": {
                            "MatchPattern": {
                              "IncludedPaths": [
                                "/requestid"
                              ]
                            },
                            "MatchScope": "ALL",
                            "InvalidFallbackBehavior": "MATCH",
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ]
                      }
                    },
                    {
                      "RegexMatchStatement": {
                        "RegexString": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
                        "FieldToMatch": {
                          "JsonBody": {
                            "MatchPattern": {
                              "IncludedPaths": [
                                "/uuid"
                              ]
                            },
                            "MatchScope": "ALL",
                            "InvalidFallbackBehavior": "MATCH",
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ]
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "id",
                        "FieldToMatch": {
                          "Body": {
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "CONTAINS"
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "name",
                        "FieldToMatch": {
                          "Body": {
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "CONTAINS"
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "price",
                        "FieldToMatch": {
                          "Body": {
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "CONTAINS"
                      }
                    },
                    {
                      "NotStatement": {
                        "Statement": {
                          "RegexMatchStatement": {
                            "RegexString": "([^:]*:){6,}",
                            "FieldToMatch": {
                              "Body": {
                                "OversizeHandling": "CONTINUE"
                              }
                            },
                            "TextTransformations": [
                              {
                                "Priority": 0,
                                "Type": "NONE"
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              },
              {
                "AndStatement": {
                  "Statements": [
                    {
                      "ByteMatchStatement": {
                        "SearchString": "POST",
                        "FieldToMatch": {
                          "Method": {}
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "EXACTLY"
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "/v1/stress",
                        "FieldToMatch": {
                          "UriPath": {}
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "EXACTLY"
                      }
                    },
                    {
                      "RegexMatchStatement": {
                        "RegexString": "^[0-9]+$",
                        "FieldToMatch": {
                          "JsonBody": {
                            "MatchPattern": {
                              "IncludedPaths": [
                                "/requestid"
                              ]
                            },
                            "MatchScope": "ALL",
                            "InvalidFallbackBehavior": "MATCH",
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ]
                      }
                    },
                    {
                      "RegexMatchStatement": {
                        "RegexString": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
                        "FieldToMatch": {
                          "JsonBody": {
                            "MatchPattern": {
                              "IncludedPaths": [
                                "/uuid"
                              ]
                            },
                            "MatchScope": "ALL",
                            "InvalidFallbackBehavior": "MATCH",
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ]
                      }
                    },
                    {
                      "ByteMatchStatement": {
                        "SearchString": "length",
                        "FieldToMatch": {
                          "Body": {
                            "OversizeHandling": "CONTINUE"
                          }
                        },
                        "TextTransformations": [
                          {
                            "Priority": 0,
                            "Type": "NONE"
                          }
                        ],
                        "PositionalConstraint": "CONTAINS"
                      }
                    },
                    {
                      "NotStatement": {
                        "Statement": {
                          "RegexMatchStatement": {
                            "RegexString": "([^:]*:){4,}",
                            "FieldToMatch": {
                              "Body": {
                                "OversizeHandling": "CONTINUE"
                              }
                            },
                            "TextTransformations": [
                              {
                                "Priority": 0,
                                "Type": "NONE"
                              }
                            ]
                          }
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        }
      ]
    }
  },
  "Action": {
    "Allow": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "CompleteValidationRule"
  }
}