in source/common/json/config_schemas.cc [820:928]
const std::string Json::Schema::HTTP_RATE_LIMITS_CONFIGURATION_SCHEMA(R"EOF(
{
"$schema": "http://json-schema.org/schema#",
"definitions" : {
"source_cluster" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["source_cluster"]
}
},
"required" : ["type"],
"additionalProperties" : false
},
"destination_cluster" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["destination_cluster"]
}
},
"required" : ["type"],
"additionalProperties" : false
},
"request_headers" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["request_headers"]
},
"header_name" : {"type" : "string"},
"descriptor_key" : {"type" : "string"}
},
"required" : ["type", "header_name", "descriptor_key"],
"additionalProperties" : false
},
"remote_address" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["remote_address"]
}
},
"required" : ["type"],
"additionalProperties" : false
},
"generic_key" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["generic_key"]
},
"descriptor_value" : {"type" : "string"}
},
"required" : ["type", "descriptor_value"],
"additionalProperties" : false
},
"header_value_match" : {
"type" : "object",
"properties" : {
"type" : {
"type" : "string",
"enum" : ["header_value_match"]
},
"descriptor_value" : {"type" : "string"},
"expect_match" : {"type" : "boolean"},
"headers" : {
"type" : "array",
"minItems" : 1,
"items" : {
"type" : "object"
}
},
"required" : ["type", "descriptor_value", "headers"],
"additionalProperties" : false
}
}
},
"type" : "object",
"properties" : {
"stage" : {
"type" : "integer",
"minimum" : 0,
"maximum" : 10
},
"disable_key" : {"type" : "string"},
"actions" : {
"type" : "array",
"minItems": 1,
"items" : {
"anyOf" : [
{"$ref" : "#/definitions/source_cluster"},
{"$ref" : "#/definitions/destination_cluster"},
{"$ref" : "#/definitions/request_headers"},
{"$ref" : "#/definitions/remote_address"},
{"$ref" : "#/definitions/generic_key"},
{"$ref" : "#/definitions/header_value_match"}
]
}
}
},
"required" : ["actions"],
"additionalProperties" : false
}