@ -60,7 +60,7 @@ message VirtualHost {
/ / The logical name of the virtual host. This is used when emitting certain
/ / statistics but is not relevant for routing.
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string name = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / A list of domains ( host / authority header ) that will be matched to this
/ / virtual host. Wildcard hosts are supported in the suffix or prefix form.
@ -113,7 +113,7 @@ message VirtualHost {
/ / Specifies a list of HTTP headers that should be removed from each request
/ / handled by this virtual host.
repeated string request_headers_to_remove = 13 [ ( validate.rules ) . repeated = {
items { string { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
items { string { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
} ] ;
/ / Specifies a list of HTTP headers that should be added to each response
@ -128,7 +128,7 @@ message VirtualHost {
/ / Specifies a list of HTTP headers that should be removed from each response
/ / handled by this virtual host.
repeated string response_headers_to_remove = 11 [ ( validate.rules ) . repeated = {
items { string { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
items { string { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
} ] ;
/ / Indicates that the virtual host has a CORS policy.
@ -263,7 +263,7 @@ message Route {
/ / Specifies a list of HTTP headers that should be removed from each request
/ / matching this route.
repeated string request_headers_to_remove = 12 [ ( validate.rules ) . repeated = {
items { string { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
items { string { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
} ] ;
/ / Specifies a set of headers that will be added to responses to requests
@ -278,7 +278,7 @@ message Route {
/ / Specifies a list of HTTP headers that should be removed from each response
/ / to requests matching this route.
repeated string response_headers_to_remove = 11 [ ( validate.rules ) . repeated = {
items { string { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
items { string { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } }
} ] ;
/ / Presence of the object defines whether the connection manager ' s tracing configuration
@ -311,7 +311,7 @@ message WeightedCluster {
/ / Name of the upstream cluster. The cluster must exist in the
/ / : ref : ` cluster manager configuration < config_cluster_manager > ` .
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string name = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / An integer between 0 and : ref : ` total_weight
/ / < envoy_api_field_config.route.v3.WeightedCluster.total_weight > ` . When a request matches the route ,
@ -591,7 +591,7 @@ message RouteAction {
/ / Specifies the cluster that requests will be mirrored to . The cluster must
/ / exist in the cluster manager configuration.
string cluster = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string cluster = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / If not specified , all requests to the target cluster will be mirrored.
/ /
@ -620,9 +620,8 @@ message RouteAction {
/ / The name of the request header that will be used to obtain the hash
/ / key. If the request header is not present , no hash will be produced.
string header_name = 1 [
( validate.rules ) . string = { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false }
] ;
string header_name = 1
[ ( validate.rules ) . string = { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
/ / If specified , the request header value will be rewritten and used
/ / to produce the hash key.
@ -650,7 +649,7 @@ message RouteAction {
/ / The name of the cookie that will be used to obtain the hash key. If the
/ / cookie is not present and ttl below is not set , no hash will be
/ / produced.
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string name = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / If specified , a cookie with the TTL will be generated if the cookie is
/ / not present. If the TTL is present and zero , the generated cookie will
@ -677,7 +676,7 @@ message RouteAction {
/ / The name of the URL query parameter that will be used to obtain the hash
/ / key. If the parameter is not present , no hash will be produced. Query
/ / parameter names are case - sensitive.
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string name = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
}
message FilterState {
@ -687,7 +686,7 @@ message RouteAction {
/ / The name of the Object in the per - request filterState , which is an
/ / Envoy : : Http : : Hashable object. If there is no data associated with the key ,
/ / or the stored object is not Envoy : : Http : : Hashable , no hash will be produced.
string key = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string key = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
}
oneof policy_specifier {
@ -798,7 +797,7 @@ message RouteAction {
/ / Indicates the upstream cluster to which the request should be routed
/ / to .
string cluster = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string cluster = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / Envoy will determine the cluster to route to by reading the value of the
/ / HTTP header named by cluster_header from the request headers. If the
@ -810,7 +809,7 @@ message RouteAction {
/ / Internally , Envoy always uses the HTTP / 2 * : authority * header to represent the HTTP / 1
/ / * Host * header. Thus , if attempting to match on * Host * , match on * : authority * instead.
string cluster_header = 2
[ ( validate.rules ) . string = { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
[ ( validate.rules ) . string = { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
/ / Multiple upstream clusters can be specified for a given route. The
/ / request is routed to one of the upstream clusters based on weights
@ -1102,7 +1101,7 @@ message RetryPolicy {
reserved "config" ;
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string name = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
oneof config_type {
google.protobuf.Any typed_config = 3 ;
@ -1117,7 +1116,7 @@ message RetryPolicy {
reserved "config" ;
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string name = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
oneof config_type {
google.protobuf.Any typed_config = 3 ;
@ -1146,7 +1145,7 @@ message RetryPolicy {
message ResetHeader {
string name = 1
[ ( validate.rules ) . string = { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
[ ( validate.rules ) . string = { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
ResetHeaderFormat format = 2 [ ( validate.rules ) . enum = { defined_only : true } ] ;
}
@ -1413,7 +1412,7 @@ message Decorator {
/ / For ingress ( inbound ) requests , or egress ( outbound ) responses , this value may be overridden
/ / by the : ref : ` x - envoy - decorator - operation
/ / < config_http_filters_router_x - envoy - decorator - operation > ` header.
string operation = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string operation = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / Whether the decorated details should be propagated to the other party. The default is true .
google.protobuf.BoolValue propagate = 2 ;
@ -1488,7 +1487,7 @@ message VirtualCluster {
/ / Specifies the name of the virtual cluster. The virtual cluster name as well
/ / as the virtual host name are used when emitting statistics. The statistics are emitted by the
/ / router filter and are documented : ref : ` here < config_http_filters_router_stats > ` .
string name = 2 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string name = 2 [ ( validate.rules ) . string = { min_len : 1 } ] ;
}
/ / Global rate limiting : ref : ` architecture overview < arch_overview_global_rate_limit > ` .
@ -1546,12 +1545,11 @@ message RateLimit {
/ / The header name to be queried from the request headers. The header ’ s
/ / value is used to populate the value of the descriptor entry for the
/ / descriptor_key.
string header_name = 1 [
( validate.rules ) . string = { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false }
] ;
string header_name = 1
[ ( validate.rules ) . string = { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
/ / The key to use in the descriptor entry.
string descriptor_key = 2 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string descriptor_key = 2 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / If set to true , Envoy skips the descriptor while calling rate limiting service
/ / when header is not present in the request. By default it skips calling the
@ -1580,7 +1578,7 @@ message RateLimit {
"envoy.api.v2.route.RateLimit.Action.GenericKey" ;
/ / The value to use in the descriptor entry.
string descriptor_value = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string descriptor_value = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / An optional key to use in the descriptor entry. If not set it defaults
/ / to 'generic_key' as the descriptor key.
@ -1597,7 +1595,7 @@ message RateLimit {
"envoy.api.v2.route.RateLimit.Action.HeaderValueMatch" ;
/ / The value to use in the descriptor entry.
string descriptor_value = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string descriptor_value = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / If set to true , the action will append a descriptor entry when the
/ / request matches the headers. If set to false , the action will append a
@ -1620,7 +1618,7 @@ message RateLimit {
/ / ( "<descriptor_key>" , "<value_queried_from_metadata>" )
message DynamicMetaData {
/ / The key to use in the descriptor entry.
string descriptor_key = 1 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string descriptor_key = 1 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / Metadata struct that defines the key and path to retrieve the string value. A match will
/ / only happen if the value in the dynamic metadata is of type string .
@ -1736,7 +1734,7 @@ message HeaderMatcher {
/ / Specifies the name of the header in the request.
string name = 1
[ ( validate.rules ) . string = { min_bytes : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
[ ( validate.rules ) . string = { min_len : 1 well_known_regex : HTTP_HEADER_NAME strict : false } ] ;
/ / Specifies how the header match will be performed to route the request.
oneof header_match_specifier {
@ -1771,7 +1769,7 @@ message HeaderMatcher {
/ / Examples :
/ /
/ / * The prefix * abcd * matches the value * abcdxyz * , but not for * abcxyz * .
string prefix_match = 9 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string prefix_match = 9 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / If specified , header match will be performed based on the suffix of the header value.
/ / Note : empty suffix is not allowed , please use present_match instead.
@ -1779,7 +1777,7 @@ message HeaderMatcher {
/ / Examples :
/ /
/ / * The suffix * abcd * matches the value * xyzabcd * , but not for * xyzbcd * .
string suffix_match = 10 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string suffix_match = 10 [ ( validate.rules ) . string = { min_len : 1 } ] ;
/ / If specified , header match will be performed based on whether the header value contains
/ / the given value or not.
@ -1788,7 +1786,7 @@ message HeaderMatcher {
/ / Examples :
/ /
/ / * The value * abcd * matches the value * xyzabcdpqr * , but not for * xyzbcdpqr * .
string contains_match = 12 [ ( validate.rules ) . string = { min_bytes : 1 } ] ;
string contains_match = 12 [ ( validate.rules ) . string = { min_len : 1 } ] ;
}
/ / If specified , the match result will be inverted before checking. Defaults to false .
@ -1813,7 +1811,7 @@ message QueryParameterMatcher {
/ / Specifies the name of a key that must be present in the requested
/ / * path * ' s query string .
string name = 1 [ ( validate.rules ) . string = { min_bytes : 1 max_bytes : 1024 } ] ;
string name = 1 [ ( validate.rules ) . string = { min_len : 1 max_bytes : 1024 } ] ;
oneof query_parameter_match_specifier {
/ / Specifies whether a query parameter value should match against a string .