envoy-types 0.7.3

Collection of protobuf types and other assets to work with the Envoy Proxy through Rust gRPC services.
Documentation
// This file is @generated by prost-build.
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ClusterAction {
    /// Indicates the upstream cluster to which the request should be routed
    /// to.
    #[prost(string, tag = "1")]
    pub cluster: ::prost::alloc::string::String,
}
impl ::prost::Name for ClusterAction {
    const NAME: &'static str = "ClusterAction";
    const PACKAGE: &'static str = "envoy.extensions.router.cluster_specifiers.matcher.v3";
    fn full_name() -> ::prost::alloc::string::String {
        "envoy.extensions.router.cluster_specifiers.matcher.v3.ClusterAction".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "type.googleapis.com/envoy.extensions.router.cluster_specifiers.matcher.v3.ClusterAction"
            .into()
    }
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MatcherClusterSpecifier {
    /// The matcher for cluster selection after the route has been selected. This is used when the
    /// route has multiple clusters (like multiple clusters for different users) and the matcher
    /// is used to select the cluster to use for the request.
    ///
    /// The match tree to use for grouping incoming requests into buckets.
    ///
    /// Example:
    ///
    ///
    /// .. validated-code-block:: yaml
    /// : type-name: xds.type.matcher.v3.Matcher
    ///
    ///
    /// matcher_list:
    /// matchers:
    /// - predicate:
    /// single_predicate:
    /// input:
    /// typed_config:
    /// '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
    /// header_name: env
    /// value_match:
    /// exact: staging
    /// on_match:
    /// action:
    /// typed_config:
    /// '@type': type.googleapis.com/envoy.extensions.router.cluster_specifiers.matcher.v3.ClusterAction
    /// cluster: "staging-cluster"
    ///
    /// ```text
    /// - predicate:
    ///      single_predicate:
    ///        input:
    ///          typed_config:
    ///            '@type': type.googleapis.com/envoy.type.matcher.v3.HttpRequestHeaderMatchInput
    ///            header_name: env
    ///        value_match:
    ///          exact: prod
    ///    on_match:
    ///      action:
    ///        typed_config:
    ///          '@type': type.googleapis.com/envoy.extensions.router.cluster_specifiers.matcher.v3.ClusterAction
    ///          cluster: "prod-cluster"
    /// ```
    ///
    /// # Catch-all with a default cluster.
    ///
    /// on_no_match:
    /// action:
    /// typed_config:
    /// '@type': type.googleapis.com/envoy.extensions.router.cluster_specifiers.matcher.v3.ClusterAction
    /// cluster: "default-cluster"
    #[prost(message, optional, tag = "1")]
    pub cluster_matcher: ::core::option::Option<
        super::super::super::super::super::super::xds::r#type::matcher::v3::Matcher,
    >,
}
impl ::prost::Name for MatcherClusterSpecifier {
    const NAME: &'static str = "MatcherClusterSpecifier";
    const PACKAGE: &'static str = "envoy.extensions.router.cluster_specifiers.matcher.v3";
    fn full_name() -> ::prost::alloc::string::String {
        "envoy.extensions.router.cluster_specifiers.matcher.v3.MatcherClusterSpecifier"
            .into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "type.googleapis.com/envoy.extensions.router.cluster_specifiers.matcher.v3.MatcherClusterSpecifier"
            .into()
    }
}