{
  "properties": {
    "spec": {
      "properties": {
        "namespacedStatuses": {
          "properties": {
            "statuses": {
              "additionalProperties": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "type": "object"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "options": {
          "properties": {
            "bufferPerRoute": {
              "properties": {
                "buffer": {
                  "properties": {
                    "maxRequestBytes": {
                      "maximum": 4294967295,
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "disabled": {
                  "type": "boolean"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "cors": {
              "properties": {
                "allowCredentials": {
                  "type": "boolean"
                },
                "allowHeaders": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "allowMethods": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "allowOrigin": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "allowOriginRegex": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "disableForRoute": {
                  "type": "boolean"
                },
                "exposeHeaders": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "maxAge": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "csrf": {
              "properties": {
                "additionalOrigins": {
                  "items": {
                    "properties": {
                      "exact": {
                        "type": "string"
                      },
                      "ignoreCase": {
                        "type": "boolean"
                      },
                      "prefix": {
                        "type": "string"
                      },
                      "safeRegex": {
                        "properties": {
                          "googleRe2": {
                            "properties": {
                              "maxProgramSize": {
                                "maximum": 4294967295,
                                "minimum": 0,
                                "nullable": true,
                                "type": "integer"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "regex": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "suffix": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "filterEnabled": {
                  "properties": {
                    "defaultValue": {
                      "properties": {
                        "denominator": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        },
                        "numerator": {
                          "format": "int32",
                          "type": "integer"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "runtimeKey": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "shadowEnabled": {
                  "properties": {
                    "defaultValue": {
                      "properties": {
                        "denominator": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        },
                        "numerator": {
                          "format": "int32",
                          "type": "integer"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "runtimeKey": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "dlp": {
              "properties": {
                "actions": {
                  "items": {
                    "properties": {
                      "actionType": {
                        "type": "string",
                        "x-kubernetes-int-or-string": true
                      },
                      "customAction": {
                        "properties": {
                          "maskChar": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "percent": {
                            "properties": {
                              "value": {
                                "type": "number"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "regex": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "regexActions": {
                            "items": {
                              "properties": {
                                "regex": {
                                  "type": "string"
                                },
                                "subgroup": {
                                  "format": "int32",
                                  "type": "integer"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "keyValueAction": {
                        "properties": {
                          "keyToMask": {
                            "type": "string"
                          },
                          "maskChar": {
                            "type": "string"
                          },
                          "name": {
                            "type": "string"
                          },
                          "percent": {
                            "properties": {
                              "value": {
                                "type": "number"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "shadow": {
                        "type": "boolean"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "enabledFor": {
                  "type": "string",
                  "x-kubernetes-int-or-string": true
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "extauth": {
              "properties": {
                "configRef": {
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "namespace": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "customAuth": {
                  "properties": {
                    "contextExtensions": {
                      "additionalProperties": {
                        "type": "string"
                      },
                      "type": "object"
                    },
                    "name": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "disable": {
                  "type": "boolean"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "extensions": {
              "properties": {
                "configs": {
                  "additionalProperties": {
                    "type": "object",
                    "x-kubernetes-preserve-unknown-fields": true
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "headerManipulation": {
              "properties": {
                "requestHeadersToAdd": {
                  "items": {
                    "properties": {
                      "append": {
                        "nullable": true,
                        "type": "boolean"
                      },
                      "header": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "headerSecretRef": {
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "namespace": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "requestHeadersToRemove": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "responseHeadersToAdd": {
                  "items": {
                    "properties": {
                      "append": {
                        "nullable": true,
                        "type": "boolean"
                      },
                      "header": {
                        "properties": {
                          "key": {
                            "type": "string"
                          },
                          "value": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "responseHeadersToRemove": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "includeAttemptCountInResponse": {
              "nullable": true,
              "type": "boolean"
            },
            "includeRequestAttemptCount": {
              "nullable": true,
              "type": "boolean"
            },
            "jwt": {
              "properties": {
                "allowMissingOrFailedJwt": {
                  "type": "boolean"
                },
                "providers": {
                  "additionalProperties": {
                    "properties": {
                      "audiences": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "claimsToHeaders": {
                        "items": {
                          "properties": {
                            "append": {
                              "type": "boolean"
                            },
                            "claim": {
                              "type": "string"
                            },
                            "header": {
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      },
                      "issuer": {
                        "type": "string"
                      },
                      "jwks": {
                        "properties": {
                          "local": {
                            "properties": {
                              "key": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "remote": {
                            "properties": {
                              "asyncFetch": {
                                "properties": {
                                  "fastListener": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "cacheDuration": {
                                "type": "string"
                              },
                              "upstreamRef": {
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "url": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "keepToken": {
                        "type": "boolean"
                      },
                      "tokenSource": {
                        "properties": {
                          "headers": {
                            "items": {
                              "properties": {
                                "header": {
                                  "type": "string"
                                },
                                "prefix": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          },
                          "queryParams": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "jwtStaged": {
              "properties": {
                "afterExtAuth": {
                  "properties": {
                    "allowMissingOrFailedJwt": {
                      "type": "boolean"
                    },
                    "providers": {
                      "additionalProperties": {
                        "properties": {
                          "audiences": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "claimsToHeaders": {
                            "items": {
                              "properties": {
                                "append": {
                                  "type": "boolean"
                                },
                                "claim": {
                                  "type": "string"
                                },
                                "header": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          },
                          "issuer": {
                            "type": "string"
                          },
                          "jwks": {
                            "properties": {
                              "local": {
                                "properties": {
                                  "key": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "remote": {
                                "properties": {
                                  "asyncFetch": {
                                    "properties": {
                                      "fastListener": {
                                        "type": "boolean"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "cacheDuration": {
                                    "type": "string"
                                  },
                                  "upstreamRef": {
                                    "properties": {
                                      "name": {
                                        "type": "string"
                                      },
                                      "namespace": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "keepToken": {
                            "type": "boolean"
                          },
                          "tokenSource": {
                            "properties": {
                              "headers": {
                                "items": {
                                  "properties": {
                                    "header": {
                                      "type": "string"
                                    },
                                    "prefix": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "queryParams": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "beforeExtAuth": {
                  "properties": {
                    "allowMissingOrFailedJwt": {
                      "type": "boolean"
                    },
                    "providers": {
                      "additionalProperties": {
                        "properties": {
                          "audiences": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "claimsToHeaders": {
                            "items": {
                              "properties": {
                                "append": {
                                  "type": "boolean"
                                },
                                "claim": {
                                  "type": "string"
                                },
                                "header": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          },
                          "issuer": {
                            "type": "string"
                          },
                          "jwks": {
                            "properties": {
                              "local": {
                                "properties": {
                                  "key": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "remote": {
                                "properties": {
                                  "asyncFetch": {
                                    "properties": {
                                      "fastListener": {
                                        "type": "boolean"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "cacheDuration": {
                                    "type": "string"
                                  },
                                  "upstreamRef": {
                                    "properties": {
                                      "name": {
                                        "type": "string"
                                      },
                                      "namespace": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "url": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "keepToken": {
                            "type": "boolean"
                          },
                          "tokenSource": {
                            "properties": {
                              "headers": {
                                "items": {
                                  "properties": {
                                    "header": {
                                      "type": "string"
                                    },
                                    "prefix": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "queryParams": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "object"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "rateLimitConfigs": {
              "properties": {
                "refs": {
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "namespace": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "rateLimitEarlyConfigs": {
              "properties": {
                "refs": {
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "namespace": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "rateLimitRegularConfigs": {
              "properties": {
                "refs": {
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "namespace": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "ratelimit": {
              "properties": {
                "rateLimits": {
                  "items": {
                    "properties": {
                      "actions": {
                        "items": {
                          "properties": {
                            "destinationCluster": {
                              "type": "object"
                            },
                            "genericKey": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "headerValueMatch": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                },
                                "expectMatch": {
                                  "nullable": true,
                                  "type": "boolean"
                                },
                                "headers": {
                                  "items": {
                                    "properties": {
                                      "exactMatch": {
                                        "type": "string"
                                      },
                                      "invertMatch": {
                                        "type": "boolean"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "prefixMatch": {
                                        "type": "string"
                                      },
                                      "presentMatch": {
                                        "type": "boolean"
                                      },
                                      "rangeMatch": {
                                        "properties": {
                                          "end": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "start": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "regexMatch": {
                                        "type": "string"
                                      },
                                      "suffixMatch": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "metadata": {
                              "properties": {
                                "defaultValue": {
                                  "type": "string"
                                },
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "metadataKey": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "path": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "source": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "remoteAddress": {
                              "type": "object"
                            },
                            "requestHeaders": {
                              "properties": {
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "headerName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "sourceCluster": {
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      },
                      "setActions": {
                        "items": {
                          "properties": {
                            "destinationCluster": {
                              "type": "object"
                            },
                            "genericKey": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "headerValueMatch": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                },
                                "expectMatch": {
                                  "nullable": true,
                                  "type": "boolean"
                                },
                                "headers": {
                                  "items": {
                                    "properties": {
                                      "exactMatch": {
                                        "type": "string"
                                      },
                                      "invertMatch": {
                                        "type": "boolean"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "prefixMatch": {
                                        "type": "string"
                                      },
                                      "presentMatch": {
                                        "type": "boolean"
                                      },
                                      "rangeMatch": {
                                        "properties": {
                                          "end": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "start": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "regexMatch": {
                                        "type": "string"
                                      },
                                      "suffixMatch": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "metadata": {
                              "properties": {
                                "defaultValue": {
                                  "type": "string"
                                },
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "metadataKey": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "path": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "source": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "remoteAddress": {
                              "type": "object"
                            },
                            "requestHeaders": {
                              "properties": {
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "headerName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "sourceCluster": {
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "ratelimitBasic": {
              "properties": {
                "anonymousLimits": {
                  "properties": {
                    "requestsPerUnit": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "unit": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "authorizedLimits": {
                  "properties": {
                    "requestsPerUnit": {
                      "format": "int32",
                      "type": "integer"
                    },
                    "unit": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "ratelimitEarly": {
              "properties": {
                "rateLimits": {
                  "items": {
                    "properties": {
                      "actions": {
                        "items": {
                          "properties": {
                            "destinationCluster": {
                              "type": "object"
                            },
                            "genericKey": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "headerValueMatch": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                },
                                "expectMatch": {
                                  "nullable": true,
                                  "type": "boolean"
                                },
                                "headers": {
                                  "items": {
                                    "properties": {
                                      "exactMatch": {
                                        "type": "string"
                                      },
                                      "invertMatch": {
                                        "type": "boolean"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "prefixMatch": {
                                        "type": "string"
                                      },
                                      "presentMatch": {
                                        "type": "boolean"
                                      },
                                      "rangeMatch": {
                                        "properties": {
                                          "end": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "start": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "regexMatch": {
                                        "type": "string"
                                      },
                                      "suffixMatch": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "metadata": {
                              "properties": {
                                "defaultValue": {
                                  "type": "string"
                                },
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "metadataKey": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "path": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "source": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "remoteAddress": {
                              "type": "object"
                            },
                            "requestHeaders": {
                              "properties": {
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "headerName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "sourceCluster": {
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      },
                      "setActions": {
                        "items": {
                          "properties": {
                            "destinationCluster": {
                              "type": "object"
                            },
                            "genericKey": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "headerValueMatch": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                },
                                "expectMatch": {
                                  "nullable": true,
                                  "type": "boolean"
                                },
                                "headers": {
                                  "items": {
                                    "properties": {
                                      "exactMatch": {
                                        "type": "string"
                                      },
                                      "invertMatch": {
                                        "type": "boolean"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "prefixMatch": {
                                        "type": "string"
                                      },
                                      "presentMatch": {
                                        "type": "boolean"
                                      },
                                      "rangeMatch": {
                                        "properties": {
                                          "end": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "start": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "regexMatch": {
                                        "type": "string"
                                      },
                                      "suffixMatch": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "metadata": {
                              "properties": {
                                "defaultValue": {
                                  "type": "string"
                                },
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "metadataKey": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "path": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "source": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "remoteAddress": {
                              "type": "object"
                            },
                            "requestHeaders": {
                              "properties": {
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "headerName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "sourceCluster": {
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "ratelimitRegular": {
              "properties": {
                "rateLimits": {
                  "items": {
                    "properties": {
                      "actions": {
                        "items": {
                          "properties": {
                            "destinationCluster": {
                              "type": "object"
                            },
                            "genericKey": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "headerValueMatch": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                },
                                "expectMatch": {
                                  "nullable": true,
                                  "type": "boolean"
                                },
                                "headers": {
                                  "items": {
                                    "properties": {
                                      "exactMatch": {
                                        "type": "string"
                                      },
                                      "invertMatch": {
                                        "type": "boolean"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "prefixMatch": {
                                        "type": "string"
                                      },
                                      "presentMatch": {
                                        "type": "boolean"
                                      },
                                      "rangeMatch": {
                                        "properties": {
                                          "end": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "start": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "regexMatch": {
                                        "type": "string"
                                      },
                                      "suffixMatch": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "metadata": {
                              "properties": {
                                "defaultValue": {
                                  "type": "string"
                                },
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "metadataKey": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "path": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "source": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "remoteAddress": {
                              "type": "object"
                            },
                            "requestHeaders": {
                              "properties": {
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "headerName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "sourceCluster": {
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      },
                      "setActions": {
                        "items": {
                          "properties": {
                            "destinationCluster": {
                              "type": "object"
                            },
                            "genericKey": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "headerValueMatch": {
                              "properties": {
                                "descriptorValue": {
                                  "type": "string"
                                },
                                "expectMatch": {
                                  "nullable": true,
                                  "type": "boolean"
                                },
                                "headers": {
                                  "items": {
                                    "properties": {
                                      "exactMatch": {
                                        "type": "string"
                                      },
                                      "invertMatch": {
                                        "type": "boolean"
                                      },
                                      "name": {
                                        "type": "string"
                                      },
                                      "prefixMatch": {
                                        "type": "string"
                                      },
                                      "presentMatch": {
                                        "type": "boolean"
                                      },
                                      "rangeMatch": {
                                        "properties": {
                                          "end": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          },
                                          "start": {
                                            "format": "int64",
                                            "type": "integer",
                                            "x-kubernetes-int-or-string": true
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "regexMatch": {
                                        "type": "string"
                                      },
                                      "suffixMatch": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "metadata": {
                              "properties": {
                                "defaultValue": {
                                  "type": "string"
                                },
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "metadataKey": {
                                  "properties": {
                                    "key": {
                                      "type": "string"
                                    },
                                    "path": {
                                      "items": {
                                        "properties": {
                                          "key": {
                                            "type": "string"
                                          }
                                        },
                                        "type": "object",
                                        "additionalProperties": false
                                      },
                                      "type": "array"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "source": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "remoteAddress": {
                              "type": "object"
                            },
                            "requestHeaders": {
                              "properties": {
                                "descriptorKey": {
                                  "type": "string"
                                },
                                "headerName": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "sourceCluster": {
                              "type": "object"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "rbac": {
              "properties": {
                "disable": {
                  "type": "boolean"
                },
                "policies": {
                  "additionalProperties": {
                    "properties": {
                      "nestedClaimDelimiter": {
                        "type": "string"
                      },
                      "permissions": {
                        "properties": {
                          "methods": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          },
                          "pathPrefix": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "principals": {
                        "items": {
                          "properties": {
                            "jwtPrincipal": {
                              "properties": {
                                "claims": {
                                  "additionalProperties": {
                                    "type": "string"
                                  },
                                  "type": "object"
                                },
                                "matcher": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                },
                                "provider": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "object"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "retries": {
              "properties": {
                "numRetries": {
                  "format": "int32",
                  "type": "integer"
                },
                "perTryTimeout": {
                  "type": "string"
                },
                "retryBackOff": {
                  "properties": {
                    "baseInterval": {
                      "type": "string"
                    },
                    "maxInterval": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "retryOn": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "stagedTransformations": {
              "properties": {
                "early": {
                  "properties": {
                    "requestTransforms": {
                      "items": {
                        "properties": {
                          "clearRouteCache": {
                            "type": "boolean"
                          },
                          "matcher": {
                            "properties": {
                              "caseSensitive": {
                                "nullable": true,
                                "type": "boolean"
                              },
                              "exact": {
                                "type": "string"
                              },
                              "headers": {
                                "items": {
                                  "properties": {
                                    "invertMatch": {
                                      "type": "boolean"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "regex": {
                                      "type": "boolean"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "methods": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "prefix": {
                                "type": "string"
                              },
                              "queryParameters": {
                                "items": {
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "regex": {
                                      "type": "boolean"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "regex": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "requestTransformation": {
                            "properties": {
                              "headerBodyTransform": {
                                "properties": {
                                  "addRequestMetadata": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "transformationTemplate": {
                                "properties": {
                                  "advancedTemplates": {
                                    "type": "boolean"
                                  },
                                  "body": {
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "dynamicMetadataValues": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "metadataNamespace": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "extractors": {
                                    "additionalProperties": {
                                      "properties": {
                                        "body": {
                                          "maxProperties": 0,
                                          "type": "object"
                                        },
                                        "header": {
                                          "type": "string"
                                        },
                                        "regex": {
                                          "type": "string"
                                        },
                                        "subgroup": {
                                          "format": "int32",
                                          "type": "integer"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headers": {
                                    "additionalProperties": {
                                      "properties": {
                                        "text": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headersToAppend": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "headersToRemove": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "ignoreErrorOnParse": {
                                    "type": "boolean"
                                  },
                                  "mergeExtractorsToBody": {
                                    "type": "object"
                                  },
                                  "parseBodyBehavior": {
                                    "type": "string",
                                    "x-kubernetes-int-or-string": true
                                  },
                                  "passthrough": {
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "xsltTransformation": {
                                "properties": {
                                  "nonXmlTransform": {
                                    "type": "boolean"
                                  },
                                  "setContentType": {
                                    "type": "string"
                                  },
                                  "xslt": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "responseTransformation": {
                            "properties": {
                              "headerBodyTransform": {
                                "properties": {
                                  "addRequestMetadata": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "transformationTemplate": {
                                "properties": {
                                  "advancedTemplates": {
                                    "type": "boolean"
                                  },
                                  "body": {
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "dynamicMetadataValues": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "metadataNamespace": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "extractors": {
                                    "additionalProperties": {
                                      "properties": {
                                        "body": {
                                          "maxProperties": 0,
                                          "type": "object"
                                        },
                                        "header": {
                                          "type": "string"
                                        },
                                        "regex": {
                                          "type": "string"
                                        },
                                        "subgroup": {
                                          "format": "int32",
                                          "type": "integer"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headers": {
                                    "additionalProperties": {
                                      "properties": {
                                        "text": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headersToAppend": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "headersToRemove": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "ignoreErrorOnParse": {
                                    "type": "boolean"
                                  },
                                  "mergeExtractorsToBody": {
                                    "type": "object"
                                  },
                                  "parseBodyBehavior": {
                                    "type": "string",
                                    "x-kubernetes-int-or-string": true
                                  },
                                  "passthrough": {
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "xsltTransformation": {
                                "properties": {
                                  "nonXmlTransform": {
                                    "type": "boolean"
                                  },
                                  "setContentType": {
                                    "type": "string"
                                  },
                                  "xslt": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "responseTransforms": {
                      "items": {
                        "properties": {
                          "matchers": {
                            "items": {
                              "properties": {
                                "invertMatch": {
                                  "type": "boolean"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "regex": {
                                  "type": "boolean"
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          },
                          "responseCodeDetails": {
                            "type": "string"
                          },
                          "responseTransformation": {
                            "properties": {
                              "headerBodyTransform": {
                                "properties": {
                                  "addRequestMetadata": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "transformationTemplate": {
                                "properties": {
                                  "advancedTemplates": {
                                    "type": "boolean"
                                  },
                                  "body": {
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "dynamicMetadataValues": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "metadataNamespace": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "extractors": {
                                    "additionalProperties": {
                                      "properties": {
                                        "body": {
                                          "maxProperties": 0,
                                          "type": "object"
                                        },
                                        "header": {
                                          "type": "string"
                                        },
                                        "regex": {
                                          "type": "string"
                                        },
                                        "subgroup": {
                                          "format": "int32",
                                          "type": "integer"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headers": {
                                    "additionalProperties": {
                                      "properties": {
                                        "text": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headersToAppend": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "headersToRemove": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "ignoreErrorOnParse": {
                                    "type": "boolean"
                                  },
                                  "mergeExtractorsToBody": {
                                    "type": "object"
                                  },
                                  "parseBodyBehavior": {
                                    "type": "string",
                                    "x-kubernetes-int-or-string": true
                                  },
                                  "passthrough": {
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "xsltTransformation": {
                                "properties": {
                                  "nonXmlTransform": {
                                    "type": "boolean"
                                  },
                                  "setContentType": {
                                    "type": "string"
                                  },
                                  "xslt": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "inheritTransformation": {
                  "type": "boolean"
                },
                "regular": {
                  "properties": {
                    "requestTransforms": {
                      "items": {
                        "properties": {
                          "clearRouteCache": {
                            "type": "boolean"
                          },
                          "matcher": {
                            "properties": {
                              "caseSensitive": {
                                "nullable": true,
                                "type": "boolean"
                              },
                              "exact": {
                                "type": "string"
                              },
                              "headers": {
                                "items": {
                                  "properties": {
                                    "invertMatch": {
                                      "type": "boolean"
                                    },
                                    "name": {
                                      "type": "string"
                                    },
                                    "regex": {
                                      "type": "boolean"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "methods": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "prefix": {
                                "type": "string"
                              },
                              "queryParameters": {
                                "items": {
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "regex": {
                                      "type": "boolean"
                                    },
                                    "value": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "type": "array"
                              },
                              "regex": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "requestTransformation": {
                            "properties": {
                              "headerBodyTransform": {
                                "properties": {
                                  "addRequestMetadata": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "transformationTemplate": {
                                "properties": {
                                  "advancedTemplates": {
                                    "type": "boolean"
                                  },
                                  "body": {
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "dynamicMetadataValues": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "metadataNamespace": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "extractors": {
                                    "additionalProperties": {
                                      "properties": {
                                        "body": {
                                          "maxProperties": 0,
                                          "type": "object"
                                        },
                                        "header": {
                                          "type": "string"
                                        },
                                        "regex": {
                                          "type": "string"
                                        },
                                        "subgroup": {
                                          "format": "int32",
                                          "type": "integer"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headers": {
                                    "additionalProperties": {
                                      "properties": {
                                        "text": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headersToAppend": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "headersToRemove": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "ignoreErrorOnParse": {
                                    "type": "boolean"
                                  },
                                  "mergeExtractorsToBody": {
                                    "type": "object"
                                  },
                                  "parseBodyBehavior": {
                                    "type": "string",
                                    "x-kubernetes-int-or-string": true
                                  },
                                  "passthrough": {
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "xsltTransformation": {
                                "properties": {
                                  "nonXmlTransform": {
                                    "type": "boolean"
                                  },
                                  "setContentType": {
                                    "type": "string"
                                  },
                                  "xslt": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "responseTransformation": {
                            "properties": {
                              "headerBodyTransform": {
                                "properties": {
                                  "addRequestMetadata": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "transformationTemplate": {
                                "properties": {
                                  "advancedTemplates": {
                                    "type": "boolean"
                                  },
                                  "body": {
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "dynamicMetadataValues": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "metadataNamespace": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "extractors": {
                                    "additionalProperties": {
                                      "properties": {
                                        "body": {
                                          "maxProperties": 0,
                                          "type": "object"
                                        },
                                        "header": {
                                          "type": "string"
                                        },
                                        "regex": {
                                          "type": "string"
                                        },
                                        "subgroup": {
                                          "format": "int32",
                                          "type": "integer"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headers": {
                                    "additionalProperties": {
                                      "properties": {
                                        "text": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headersToAppend": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "headersToRemove": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "ignoreErrorOnParse": {
                                    "type": "boolean"
                                  },
                                  "mergeExtractorsToBody": {
                                    "type": "object"
                                  },
                                  "parseBodyBehavior": {
                                    "type": "string",
                                    "x-kubernetes-int-or-string": true
                                  },
                                  "passthrough": {
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "xsltTransformation": {
                                "properties": {
                                  "nonXmlTransform": {
                                    "type": "boolean"
                                  },
                                  "setContentType": {
                                    "type": "string"
                                  },
                                  "xslt": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    },
                    "responseTransforms": {
                      "items": {
                        "properties": {
                          "matchers": {
                            "items": {
                              "properties": {
                                "invertMatch": {
                                  "type": "boolean"
                                },
                                "name": {
                                  "type": "string"
                                },
                                "regex": {
                                  "type": "boolean"
                                },
                                "value": {
                                  "type": "string"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          },
                          "responseCodeDetails": {
                            "type": "string"
                          },
                          "responseTransformation": {
                            "properties": {
                              "headerBodyTransform": {
                                "properties": {
                                  "addRequestMetadata": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "transformationTemplate": {
                                "properties": {
                                  "advancedTemplates": {
                                    "type": "boolean"
                                  },
                                  "body": {
                                    "properties": {
                                      "text": {
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "dynamicMetadataValues": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "metadataNamespace": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "extractors": {
                                    "additionalProperties": {
                                      "properties": {
                                        "body": {
                                          "maxProperties": 0,
                                          "type": "object"
                                        },
                                        "header": {
                                          "type": "string"
                                        },
                                        "regex": {
                                          "type": "string"
                                        },
                                        "subgroup": {
                                          "format": "int32",
                                          "type": "integer"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headers": {
                                    "additionalProperties": {
                                      "properties": {
                                        "text": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "object"
                                  },
                                  "headersToAppend": {
                                    "items": {
                                      "properties": {
                                        "key": {
                                          "type": "string"
                                        },
                                        "value": {
                                          "properties": {
                                            "text": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "type": "array"
                                  },
                                  "headersToRemove": {
                                    "items": {
                                      "type": "string"
                                    },
                                    "type": "array"
                                  },
                                  "ignoreErrorOnParse": {
                                    "type": "boolean"
                                  },
                                  "mergeExtractorsToBody": {
                                    "type": "object"
                                  },
                                  "parseBodyBehavior": {
                                    "type": "string",
                                    "x-kubernetes-int-or-string": true
                                  },
                                  "passthrough": {
                                    "type": "object"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "xsltTransformation": {
                                "properties": {
                                  "nonXmlTransform": {
                                    "type": "boolean"
                                  },
                                  "setContentType": {
                                    "type": "string"
                                  },
                                  "xslt": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "type": "array"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "stats": {
              "properties": {
                "virtualClusters": {
                  "items": {
                    "properties": {
                      "method": {
                        "type": "string"
                      },
                      "name": {
                        "type": "string"
                      },
                      "pattern": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "transformations": {
              "properties": {
                "clearRouteCache": {
                  "type": "boolean"
                },
                "requestTransformation": {
                  "properties": {
                    "headerBodyTransform": {
                      "properties": {
                        "addRequestMetadata": {
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "transformationTemplate": {
                      "properties": {
                        "advancedTemplates": {
                          "type": "boolean"
                        },
                        "body": {
                          "properties": {
                            "text": {
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "dynamicMetadataValues": {
                          "items": {
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "metadataNamespace": {
                                "type": "string"
                              },
                              "value": {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "extractors": {
                          "additionalProperties": {
                            "properties": {
                              "body": {
                                "maxProperties": 0,
                                "type": "object"
                              },
                              "header": {
                                "type": "string"
                              },
                              "regex": {
                                "type": "string"
                              },
                              "subgroup": {
                                "format": "int32",
                                "type": "integer"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "object"
                        },
                        "headers": {
                          "additionalProperties": {
                            "properties": {
                              "text": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "object"
                        },
                        "headersToAppend": {
                          "items": {
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "headersToRemove": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ignoreErrorOnParse": {
                          "type": "boolean"
                        },
                        "mergeExtractorsToBody": {
                          "type": "object"
                        },
                        "parseBodyBehavior": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        },
                        "passthrough": {
                          "type": "object"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "xsltTransformation": {
                      "properties": {
                        "nonXmlTransform": {
                          "type": "boolean"
                        },
                        "setContentType": {
                          "type": "string"
                        },
                        "xslt": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "responseTransformation": {
                  "properties": {
                    "headerBodyTransform": {
                      "properties": {
                        "addRequestMetadata": {
                          "type": "boolean"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "transformationTemplate": {
                      "properties": {
                        "advancedTemplates": {
                          "type": "boolean"
                        },
                        "body": {
                          "properties": {
                            "text": {
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "dynamicMetadataValues": {
                          "items": {
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "metadataNamespace": {
                                "type": "string"
                              },
                              "value": {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "extractors": {
                          "additionalProperties": {
                            "properties": {
                              "body": {
                                "maxProperties": 0,
                                "type": "object"
                              },
                              "header": {
                                "type": "string"
                              },
                              "regex": {
                                "type": "string"
                              },
                              "subgroup": {
                                "format": "int32",
                                "type": "integer"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "object"
                        },
                        "headers": {
                          "additionalProperties": {
                            "properties": {
                              "text": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "object"
                        },
                        "headersToAppend": {
                          "items": {
                            "properties": {
                              "key": {
                                "type": "string"
                              },
                              "value": {
                                "properties": {
                                  "text": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "headersToRemove": {
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        },
                        "ignoreErrorOnParse": {
                          "type": "boolean"
                        },
                        "mergeExtractorsToBody": {
                          "type": "object"
                        },
                        "parseBodyBehavior": {
                          "type": "string",
                          "x-kubernetes-int-or-string": true
                        },
                        "passthrough": {
                          "type": "object"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "xsltTransformation": {
                      "properties": {
                        "nonXmlTransform": {
                          "type": "boolean"
                        },
                        "setContentType": {
                          "type": "string"
                        },
                        "xslt": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "waf": {
              "properties": {
                "auditLogging": {
                  "properties": {
                    "action": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    },
                    "location": {
                      "type": "string",
                      "x-kubernetes-int-or-string": true
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "configMapRuleSets": {
                  "items": {
                    "properties": {
                      "configMapRef": {
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "namespace": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "dataMapKeys": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                },
                "coreRuleSet": {
                  "properties": {
                    "customSettingsFile": {
                      "type": "string"
                    },
                    "customSettingsString": {
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "customInterventionMessage": {
                  "type": "string"
                },
                "disabled": {
                  "type": "boolean"
                },
                "requestHeadersOnly": {
                  "type": "boolean"
                },
                "responseHeadersOnly": {
                  "type": "boolean"
                },
                "ruleSets": {
                  "items": {
                    "properties": {
                      "directory": {
                        "type": "string"
                      },
                      "files": {
                        "items": {
                          "type": "string"
                        },
                        "type": "array"
                      },
                      "ruleStr": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            }
          },
          "type": "object",
          "additionalProperties": false
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "default": {},
      "properties": {
        "statuses": {
          "default": {},
          "type": "object",
          "x-kubernetes-preserve-unknown-fields": true
        }
      },
      "type": "object",
      "x-kubernetes-preserve-unknown-fields": true,
      "additionalProperties": false
    }
  },
  "type": "object"
}
