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 CommonGeoipProviderConfig {
    /// Configuration for geolocation headers to add to HTTP requests.
    /// This field is deprecated in favor of `geo_field_keys`. If both are set, `geo_field_keys`
    /// takes precedence.
    #[deprecated]
    #[prost(message, optional, tag = "1")]
    pub geo_headers_to_add: ::core::option::Option<
        common_geoip_provider_config::GeolocationHeadersToAdd,
    >,
    /// Configuration for geolocation field keys.
    /// At least one of `geo_headers_to_add` or `geo_field_keys` must be set.
    #[prost(message, optional, tag = "3")]
    pub geo_field_keys: ::core::option::Option<
        common_geoip_provider_config::GeolocationFieldKeys,
    >,
}
/// Nested message and enum types in `CommonGeoipProviderConfig`.
pub mod common_geoip_provider_config {
    /// The set of geolocation headers to add to request. If any of the configured headers is present
    /// in the incoming request, it will be overridden by the :ref:`HTTP GeoIP filter <config_http_filters_geoip>`.
    /// \[\#next-free-field: 13\]
    ///
    /// .. attention::
    /// This field is deprecated in favor of :ref:`geo_field_keys    <envoy_v3_api_field_extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.geo_field_keys>`.
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
    pub struct GeolocationHeadersToAdd {
        /// If set, the header will be used to populate the country ISO code associated with the IP address.
        #[prost(string, tag = "1")]
        pub country: ::prost::alloc::string::String,
        /// If set, the header will be used to populate the city associated with the IP address.
        #[prost(string, tag = "2")]
        pub city: ::prost::alloc::string::String,
        /// If set, the header will be used to populate the region ISO code associated with the IP address.
        /// The least specific subdivision will be selected as the region value.
        #[prost(string, tag = "3")]
        pub region: ::prost::alloc::string::String,
        /// If set, the header will be used to populate the ASN associated with the IP address.
        #[prost(string, tag = "4")]
        pub asn: ::prost::alloc::string::String,
        /// This field is deprecated; use `anon` instead.
        #[deprecated]
        #[prost(string, tag = "5")]
        pub is_anon: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to any type of anonymization network (e.g., VPN, public proxy).
        /// The header will be populated with the check result. Header value will be set to either `true` or `false` depending on the check result.
        #[prost(string, tag = "12")]
        pub anon: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a VPN and the header will be populated with the check result.
        /// Header value will be set to either `true` or `false` depending on the check result.
        #[prost(string, tag = "6")]
        pub anon_vpn: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a hosting provider and the header will be populated with the check result.
        /// Header value will be set to either `true` or `false` depending on the check result.
        #[prost(string, tag = "7")]
        pub anon_hosting: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a TOR exit node and the header will be populated with the check result.
        /// Header value will be set to either `true` or `false` depending on the check result.
        #[prost(string, tag = "8")]
        pub anon_tor: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a public proxy and the header will be populated with the check result.
        /// Header value will be set to either `true` or `false` depending on the check result.
        #[prost(string, tag = "9")]
        pub anon_proxy: ::prost::alloc::string::String,
        /// If set, the header will be used to populate the ISP associated with the IP address.
        #[prost(string, tag = "10")]
        pub isp: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to the ISP named iCloud Private Relay and the header will be populated with the check result.
        /// Header value will be set to either `true` or `false` depending on the check result.
        #[prost(string, tag = "11")]
        pub apple_private_relay: ::prost::alloc::string::String,
    }
    impl ::prost::Name for GeolocationHeadersToAdd {
        const NAME: &'static str = "GeolocationHeadersToAdd";
        const PACKAGE: &'static str = "envoy.extensions.geoip_providers.common.v3";
        fn full_name() -> ::prost::alloc::string::String {
            "envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.GeolocationHeadersToAdd"
                .into()
        }
        fn type_url() -> ::prost::alloc::string::String {
            "type.googleapis.com/envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.GeolocationHeadersToAdd"
                .into()
        }
    }
    /// The set of geolocation field keys to use for storing lookup results.
    /// These keys define how the geolocation lookup results will be stored. The actual storage
    /// mechanism depends on the filter using the provider:
    ///
    /// * The :ref:`HTTP GeoIP filter <config_http_filters_geoip>` stores results as HTTP request headers.
    /// * The :ref:`Network GeoIP filter <config_network_filters_geoip>` stores results in the
    ///   connection's filter state under the well-known key `envoy.geoip`.
    ///
    /// \[\#next-free-field: 12\]
    #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
    pub struct GeolocationFieldKeys {
        /// If set, the key will be used to populate the country ISO code associated with the IP address.
        #[prost(string, tag = "1")]
        pub country: ::prost::alloc::string::String,
        /// If set, the key will be used to populate the city associated with the IP address.
        #[prost(string, tag = "2")]
        pub city: ::prost::alloc::string::String,
        /// If set, the key will be used to populate the region ISO code associated with the IP address.
        /// The least specific subdivision will be selected as the region value.
        #[prost(string, tag = "3")]
        pub region: ::prost::alloc::string::String,
        /// If set, the key will be used to populate the ASN associated with the IP address.
        #[prost(string, tag = "4")]
        pub asn: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to any type of anonymization network
        /// (e.g., VPN, public proxy). The result will be stored with this key. Value will be set to
        /// either `true` or `false` depending on the check result.
        #[prost(string, tag = "5")]
        pub anon: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a VPN and the result will be stored
        /// with this key. Value will be set to either `true` or `false` depending on the check result.
        #[prost(string, tag = "6")]
        pub anon_vpn: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a hosting provider and the result
        /// will be stored with this key. Value will be set to either `true` or `false` depending on
        /// the check result.
        #[prost(string, tag = "7")]
        pub anon_hosting: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a TOR exit node and the result will
        /// be stored with this key. Value will be set to either `true` or `false` depending on the
        /// check result.
        #[prost(string, tag = "8")]
        pub anon_tor: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to a public proxy and the result will
        /// be stored with this key. Value will be set to either `true` or `false` depending on the
        /// check result.
        #[prost(string, tag = "9")]
        pub anon_proxy: ::prost::alloc::string::String,
        /// If set, the key will be used to populate the ISP associated with the IP address.
        #[prost(string, tag = "10")]
        pub isp: ::prost::alloc::string::String,
        /// If set, the IP address will be checked if it belongs to the ISP named iCloud Private Relay
        /// and the result will be stored with this key. Value will be set to either `true` or `false`
        /// depending on the check result.
        #[prost(string, tag = "11")]
        pub apple_private_relay: ::prost::alloc::string::String,
    }
    impl ::prost::Name for GeolocationFieldKeys {
        const NAME: &'static str = "GeolocationFieldKeys";
        const PACKAGE: &'static str = "envoy.extensions.geoip_providers.common.v3";
        fn full_name() -> ::prost::alloc::string::String {
            "envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.GeolocationFieldKeys"
                .into()
        }
        fn type_url() -> ::prost::alloc::string::String {
            "type.googleapis.com/envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig.GeolocationFieldKeys"
                .into()
        }
    }
}
impl ::prost::Name for CommonGeoipProviderConfig {
    const NAME: &'static str = "CommonGeoipProviderConfig";
    const PACKAGE: &'static str = "envoy.extensions.geoip_providers.common.v3";
    fn full_name() -> ::prost::alloc::string::String {
        "envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig".into()
    }
    fn type_url() -> ::prost::alloc::string::String {
        "type.googleapis.com/envoy.extensions.geoip_providers.common.v3.CommonGeoipProviderConfig"
            .into()
    }
}