{
  "properties": {
    "spec": {
      "properties": {
        "displayName": {
          "type": "string"
        },
        "namespacedStatuses": {
          "properties": {
            "statuses": {
              "additionalProperties": {
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true
              },
              "type": "object"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "sslConfig": {
          "properties": {
            "alpnProtocols": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "disableTlsSessionResumption": {
              "nullable": true,
              "type": "boolean"
            },
            "oneWayTls": {
              "nullable": true,
              "type": "boolean"
            },
            "parameters": {
              "properties": {
                "cipherSuites": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "ecdhCurves": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "maximumProtocolVersion": {
                  "type": "string",
                  "x-kubernetes-int-or-string": true
                },
                "minimumProtocolVersion": {
                  "type": "string",
                  "x-kubernetes-int-or-string": true
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "sds": {
              "properties": {
                "callCredentials": {
                  "properties": {
                    "fileCredentialSource": {
                      "properties": {
                        "header": {
                          "type": "string"
                        },
                        "tokenFileName": {
                          "type": "string"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "certificatesSecretName": {
                  "type": "string"
                },
                "clusterName": {
                  "type": "string"
                },
                "targetUri": {
                  "type": "string"
                },
                "validationContextName": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "secretRef": {
              "properties": {
                "name": {
                  "type": "string"
                },
                "namespace": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "sniDomains": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "sslFiles": {
              "properties": {
                "rootCa": {
                  "type": "string"
                },
                "tlsCert": {
                  "type": "string"
                },
                "tlsKey": {
                  "type": "string"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "transportSocketConnectTimeout": {
              "type": "string"
            },
            "verifySubjectAltName": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "virtualHost": {
          "properties": {
            "domains": {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            "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
            },
            "optionsConfigRefs": {
              "properties": {
                "delegateOptions": {
                  "items": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "namespace": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "type": "array"
                }
              },
              "type": "object",
              "additionalProperties": false
            },
            "routes": {
              "items": {
                "properties": {
                  "delegateAction": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "namespace": {
                        "type": "string"
                      },
                      "ref": {
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "namespace": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "selector": {
                        "properties": {
                          "expressions": {
                            "items": {
                              "properties": {
                                "key": {
                                  "type": "string"
                                },
                                "operator": {
                                  "type": "string",
                                  "x-kubernetes-int-or-string": true
                                },
                                "values": {
                                  "items": {
                                    "type": "string"
                                  },
                                  "type": "array"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          },
                          "labels": {
                            "additionalProperties": {
                              "type": "string"
                            },
                            "type": "object"
                          },
                          "namespaces": {
                            "items": {
                              "type": "string"
                            },
                            "type": "array"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "directResponseAction": {
                    "properties": {
                      "body": {
                        "type": "string"
                      },
                      "status": {
                        "format": "int32",
                        "type": "integer"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "graphqlApiRef": {
                    "properties": {
                      "name": {
                        "type": "string"
                      },
                      "namespace": {
                        "type": "string"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "inheritableMatchers": {
                    "nullable": true,
                    "type": "boolean"
                  },
                  "inheritablePathMatchers": {
                    "nullable": true,
                    "type": "boolean"
                  },
                  "matchers": {
                    "items": {
                      "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
                    },
                    "type": "array"
                  },
                  "name": {
                    "type": "string"
                  },
                  "options": {
                    "properties": {
                      "autoHostRewrite": {
                        "nullable": true,
                        "type": "boolean"
                      },
                      "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
                      },
                      "envoyMetadata": {
                        "additionalProperties": {
                          "type": "object",
                          "x-kubernetes-preserve-unknown-fields": true
                        },
                        "type": "object"
                      },
                      "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
                      },
                      "faults": {
                        "properties": {
                          "abort": {
                            "properties": {
                              "httpStatus": {
                                "format": "int32",
                                "type": "integer"
                              },
                              "percentage": {
                                "type": "number"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "delay": {
                            "properties": {
                              "fixedDelay": {
                                "type": "string"
                              },
                              "percentage": {
                                "type": "number"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "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
                      },
                      "hostRewrite": {
                        "type": "string"
                      },
                      "jwt": {
                        "properties": {
                          "disable": {
                            "type": "boolean"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "jwtStaged": {
                        "properties": {
                          "afterExtAuth": {
                            "properties": {
                              "disable": {
                                "type": "boolean"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "beforeExtAuth": {
                            "properties": {
                              "disable": {
                                "type": "boolean"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "lbHash": {
                        "properties": {
                          "hashPolicies": {
                            "items": {
                              "properties": {
                                "cookie": {
                                  "properties": {
                                    "name": {
                                      "type": "string"
                                    },
                                    "path": {
                                      "type": "string"
                                    },
                                    "ttl": {
                                      "type": "string"
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "header": {
                                  "type": "string"
                                },
                                "sourceIp": {
                                  "type": "boolean"
                                },
                                "terminal": {
                                  "type": "boolean"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "maxStreamDuration": {
                        "properties": {
                          "grpcTimeoutHeaderMax": {
                            "type": "string"
                          },
                          "grpcTimeoutHeaderOffset": {
                            "type": "string"
                          },
                          "maxStreamDuration": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "prefixRewrite": {
                        "nullable": true,
                        "type": "string"
                      },
                      "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": {
                          "includeVhRateLimits": {
                            "type": "boolean"
                          },
                          "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": {
                          "includeVhRateLimits": {
                            "type": "boolean"
                          },
                          "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": {
                          "includeVhRateLimits": {
                            "type": "boolean"
                          },
                          "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
                      },
                      "regexRewrite": {
                        "properties": {
                          "pattern": {
                            "properties": {
                              "googleRe2": {
                                "properties": {
                                  "maxProgramSize": {
                                    "maximum": 4294967295,
                                    "minimum": 0,
                                    "nullable": true,
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "regex": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "substitution": {
                            "type": "string"
                          }
                        },
                        "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
                      },
                      "shadowing": {
                        "properties": {
                          "percentage": {
                            "type": "number"
                          },
                          "upstream": {
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "namespace": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "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
                      },
                      "timeout": {
                        "type": "string"
                      },
                      "tracing": {
                        "properties": {
                          "propagate": {
                            "nullable": true,
                            "type": "boolean"
                          },
                          "routeDescriptor": {
                            "type": "string"
                          },
                          "tracePercentages": {
                            "properties": {
                              "clientSamplePercentage": {
                                "nullable": true,
                                "type": "number"
                              },
                              "overallSamplePercentage": {
                                "nullable": true,
                                "type": "number"
                              },
                              "randomSamplePercentage": {
                                "nullable": true,
                                "type": "number"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "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
                      },
                      "upgrades": {
                        "items": {
                          "properties": {
                            "websocket": {
                              "properties": {
                                "enabled": {
                                  "nullable": true,
                                  "type": "boolean"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      },
                      "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
                  },
                  "optionsConfigRefs": {
                    "properties": {
                      "delegateOptions": {
                        "items": {
                          "properties": {
                            "name": {
                              "type": "string"
                            },
                            "namespace": {
                              "type": "string"
                            }
                          },
                          "type": "object",
                          "additionalProperties": false
                        },
                        "type": "array"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "redirectAction": {
                    "properties": {
                      "hostRedirect": {
                        "type": "string"
                      },
                      "httpsRedirect": {
                        "type": "boolean"
                      },
                      "pathRedirect": {
                        "type": "string"
                      },
                      "prefixRewrite": {
                        "type": "string"
                      },
                      "regexRewrite": {
                        "properties": {
                          "pattern": {
                            "properties": {
                              "googleRe2": {
                                "properties": {
                                  "maxProgramSize": {
                                    "maximum": 4294967295,
                                    "minimum": 0,
                                    "nullable": true,
                                    "type": "integer"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "regex": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "substitution": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "responseCode": {
                        "type": "string",
                        "x-kubernetes-int-or-string": true
                      },
                      "stripQuery": {
                        "type": "boolean"
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  },
                  "routeAction": {
                    "properties": {
                      "clusterHeader": {
                        "type": "string"
                      },
                      "dynamicForwardProxy": {
                        "properties": {
                          "autoHostRewriteHeader": {
                            "type": "string"
                          },
                          "hostRewrite": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "multi": {
                        "properties": {
                          "destinations": {
                            "items": {
                              "properties": {
                                "destination": {
                                  "properties": {
                                    "consul": {
                                      "properties": {
                                        "dataCenters": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        },
                                        "serviceName": {
                                          "type": "string"
                                        },
                                        "tags": {
                                          "items": {
                                            "type": "string"
                                          },
                                          "type": "array"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "destinationSpec": {
                                      "properties": {
                                        "aws": {
                                          "properties": {
                                            "invocationStyle": {
                                              "type": "string",
                                              "x-kubernetes-int-or-string": true
                                            },
                                            "logicalName": {
                                              "type": "string"
                                            },
                                            "requestTransformation": {
                                              "type": "boolean"
                                            },
                                            "responseTransformation": {
                                              "type": "boolean"
                                            },
                                            "unwrapAsAlb": {
                                              "type": "boolean"
                                            },
                                            "unwrapAsApiGateway": {
                                              "type": "boolean"
                                            },
                                            "wrapAsApiGateway": {
                                              "type": "boolean"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "azure": {
                                          "properties": {
                                            "functionName": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "grpc": {
                                          "properties": {
                                            "function": {
                                              "type": "string"
                                            },
                                            "package": {
                                              "type": "string"
                                            },
                                            "parameters": {
                                              "properties": {
                                                "headers": {
                                                  "additionalProperties": {
                                                    "type": "string"
                                                  },
                                                  "type": "object"
                                                },
                                                "path": {
                                                  "nullable": true,
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "service": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        },
                                        "rest": {
                                          "properties": {
                                            "functionName": {
                                              "type": "string"
                                            },
                                            "parameters": {
                                              "properties": {
                                                "headers": {
                                                  "additionalProperties": {
                                                    "type": "string"
                                                  },
                                                  "type": "object"
                                                },
                                                "path": {
                                                  "nullable": true,
                                                  "type": "string"
                                                }
                                              },
                                              "type": "object",
                                              "additionalProperties": false
                                            },
                                            "responseTransformation": {
                                              "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
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "kube": {
                                      "properties": {
                                        "port": {
                                          "format": "int32",
                                          "type": "integer"
                                        },
                                        "ref": {
                                          "properties": {
                                            "name": {
                                              "type": "string"
                                            },
                                            "namespace": {
                                              "type": "string"
                                            }
                                          },
                                          "type": "object",
                                          "additionalProperties": false
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "subset": {
                                      "properties": {
                                        "values": {
                                          "additionalProperties": {
                                            "type": "string"
                                          },
                                          "type": "object"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    },
                                    "upstream": {
                                      "properties": {
                                        "name": {
                                          "type": "string"
                                        },
                                        "namespace": {
                                          "type": "string"
                                        }
                                      },
                                      "type": "object",
                                      "additionalProperties": false
                                    }
                                  },
                                  "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
                                    },
                                    "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
                                    },
                                    "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
                                    },
                                    "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
                                    },
                                    "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
                                    }
                                  },
                                  "type": "object",
                                  "additionalProperties": false
                                },
                                "weight": {
                                  "maximum": 4294967295,
                                  "minimum": 0,
                                  "nullable": true,
                                  "type": "integer"
                                }
                              },
                              "type": "object",
                              "additionalProperties": false
                            },
                            "type": "array"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "single": {
                        "properties": {
                          "consul": {
                            "properties": {
                              "dataCenters": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              },
                              "serviceName": {
                                "type": "string"
                              },
                              "tags": {
                                "items": {
                                  "type": "string"
                                },
                                "type": "array"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "destinationSpec": {
                            "properties": {
                              "aws": {
                                "properties": {
                                  "invocationStyle": {
                                    "type": "string",
                                    "x-kubernetes-int-or-string": true
                                  },
                                  "logicalName": {
                                    "type": "string"
                                  },
                                  "requestTransformation": {
                                    "type": "boolean"
                                  },
                                  "responseTransformation": {
                                    "type": "boolean"
                                  },
                                  "unwrapAsAlb": {
                                    "type": "boolean"
                                  },
                                  "unwrapAsApiGateway": {
                                    "type": "boolean"
                                  },
                                  "wrapAsApiGateway": {
                                    "type": "boolean"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "azure": {
                                "properties": {
                                  "functionName": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "grpc": {
                                "properties": {
                                  "function": {
                                    "type": "string"
                                  },
                                  "package": {
                                    "type": "string"
                                  },
                                  "parameters": {
                                    "properties": {
                                      "headers": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": "object"
                                      },
                                      "path": {
                                        "nullable": true,
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "service": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              },
                              "rest": {
                                "properties": {
                                  "functionName": {
                                    "type": "string"
                                  },
                                  "parameters": {
                                    "properties": {
                                      "headers": {
                                        "additionalProperties": {
                                          "type": "string"
                                        },
                                        "type": "object"
                                      },
                                      "path": {
                                        "nullable": true,
                                        "type": "string"
                                      }
                                    },
                                    "type": "object",
                                    "additionalProperties": false
                                  },
                                  "responseTransformation": {
                                    "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
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "kube": {
                            "properties": {
                              "port": {
                                "format": "int32",
                                "type": "integer"
                              },
                              "ref": {
                                "properties": {
                                  "name": {
                                    "type": "string"
                                  },
                                  "namespace": {
                                    "type": "string"
                                  }
                                },
                                "type": "object",
                                "additionalProperties": false
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "subset": {
                            "properties": {
                              "values": {
                                "additionalProperties": {
                                  "type": "string"
                                },
                                "type": "object"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "upstream": {
                            "properties": {
                              "name": {
                                "type": "string"
                              },
                              "namespace": {
                                "type": "string"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      },
                      "upstreamGroup": {
                        "properties": {
                          "name": {
                            "type": "string"
                          },
                          "namespace": {
                            "type": "string"
                          }
                        },
                        "type": "object",
                        "additionalProperties": false
                      }
                    },
                    "type": "object",
                    "additionalProperties": false
                  }
                },
                "type": "object",
                "additionalProperties": false
              },
              "type": "array"
            }
          },
          "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"
}
