1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// This file is @generated by prost-build.
/// Configuration for a cluster of type REVERSE_CONNECTION.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ReverseConnectionClusterConfig {
/// Time interval after which Envoy removes unused dynamic hosts created for reverse connections.
/// Hosts that are not referenced by any connection pool are deleted during cleanup.
///
/// If unset, Envoy uses a default of 60s.
#[prost(message, optional, tag = "1")]
pub cleanup_interval: ::core::option::Option<
super::super::super::super::super::google::protobuf::Duration,
>,
/// Host identifier format string.
///
/// This format string is evaluated against the downstream request context to compute
/// the host identifier for selecting the reverse connection endpoint. The format string
/// supports Envoy's standard formatter syntax, including:
///
/// * `%REQ(header-name)%`: Extract request header value.
/// * `%DYNAMIC_METADATA(namespace:key)%`: Extract dynamic metadata value.
/// * `%CEL(expression)%`: Evaluate CEL expression.
/// * `%DOWNSTREAM_REMOTE_ADDRESS%`: Downstream connection address.
/// * `%DOWNSTREAM_LOCAL_ADDRESS%`: Downstream local address.
/// * Plain text and combinations of the above.
///
/// Examples:
///
/// * `%REQ(x-remote-node-id)%`: Use the value of the `x-remote-node-id` header.
/// * `%REQ(host):EXTRACT_FIRST_PART%`: Extract the first part of the Host header before a dot.
/// * `%CEL(request.headers\['x-node-id'\] | orValue('default'))%`: Use CEL with fallback.
/// * `node-%REQ(x-tenant-id)%-%REQ(x-region)%`: Combine multiple values.
///
/// If the format string evaluates to an empty value, the request will not be routed.
#[prost(string, tag = "2")]
pub host_id_format: ::prost::alloc::string::String,
}
impl ::prost::Name for ReverseConnectionClusterConfig {
const NAME: &'static str = "ReverseConnectionClusterConfig";
const PACKAGE: &'static str = "envoy.extensions.clusters.reverse_connection.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.extensions.clusters.reverse_connection.v3.ReverseConnectionClusterConfig"
.into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.extensions.clusters.reverse_connection.v3.ReverseConnectionClusterConfig"
.into()
}
}