#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AccessLog {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub filter: ::core::option::Option<AccessLogFilter>,
#[prost(oneof = "access_log::ConfigType", tags = "4")]
pub config_type: ::core::option::Option<access_log::ConfigType>,
}
pub mod access_log {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum ConfigType {
#[prost(message, tag = "4")]
TypedConfig(super::super::super::super::super::google::protobuf::Any),
}
}
impl ::prost::Name for AccessLog {
const NAME: &'static str = "AccessLog";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.AccessLog".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.AccessLog".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AccessLogFilter {
#[prost(
oneof = "access_log_filter::FilterSpecifier",
tags = "1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13"
)]
pub filter_specifier: ::core::option::Option<access_log_filter::FilterSpecifier>,
}
pub mod access_log_filter {
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum FilterSpecifier {
#[prost(message, tag = "1")]
StatusCodeFilter(super::StatusCodeFilter),
#[prost(message, tag = "2")]
DurationFilter(super::DurationFilter),
#[prost(message, tag = "3")]
NotHealthCheckFilter(super::NotHealthCheckFilter),
#[prost(message, tag = "4")]
TraceableFilter(super::TraceableFilter),
#[prost(message, tag = "5")]
RuntimeFilter(super::RuntimeFilter),
#[prost(message, tag = "6")]
AndFilter(super::AndFilter),
#[prost(message, tag = "7")]
OrFilter(super::OrFilter),
#[prost(message, tag = "8")]
HeaderFilter(super::HeaderFilter),
#[prost(message, tag = "9")]
ResponseFlagFilter(super::ResponseFlagFilter),
#[prost(message, tag = "10")]
GrpcStatusFilter(super::GrpcStatusFilter),
#[prost(message, tag = "11")]
ExtensionFilter(super::ExtensionFilter),
#[prost(message, tag = "12")]
MetadataFilter(super::MetadataFilter),
#[prost(message, tag = "13")]
LogTypeFilter(super::LogTypeFilter),
}
}
impl ::prost::Name for AccessLogFilter {
const NAME: &'static str = "AccessLogFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.AccessLogFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.AccessLogFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ComparisonFilter {
#[prost(enumeration = "comparison_filter::Op", tag = "1")]
pub op: i32,
#[prost(message, optional, tag = "2")]
pub value: ::core::option::Option<super::super::core::v3::RuntimeUInt32>,
}
pub mod comparison_filter {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Op {
Eq = 0,
Ge = 1,
Le = 2,
Ne = 3,
}
impl Op {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Eq => "EQ",
Self::Ge => "GE",
Self::Le => "LE",
Self::Ne => "NE",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"EQ" => Some(Self::Eq),
"GE" => Some(Self::Ge),
"LE" => Some(Self::Le),
"NE" => Some(Self::Ne),
_ => None,
}
}
}
}
impl ::prost::Name for ComparisonFilter {
const NAME: &'static str = "ComparisonFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.ComparisonFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.ComparisonFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct StatusCodeFilter {
#[prost(message, optional, tag = "1")]
pub comparison: ::core::option::Option<ComparisonFilter>,
}
impl ::prost::Name for StatusCodeFilter {
const NAME: &'static str = "StatusCodeFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.StatusCodeFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.StatusCodeFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct DurationFilter {
#[prost(message, optional, tag = "1")]
pub comparison: ::core::option::Option<ComparisonFilter>,
}
impl ::prost::Name for DurationFilter {
const NAME: &'static str = "DurationFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.DurationFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.DurationFilter".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct NotHealthCheckFilter {}
impl ::prost::Name for NotHealthCheckFilter {
const NAME: &'static str = "NotHealthCheckFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.NotHealthCheckFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.NotHealthCheckFilter".into()
}
}
#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)]
pub struct TraceableFilter {}
impl ::prost::Name for TraceableFilter {
const NAME: &'static str = "TraceableFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.TraceableFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.TraceableFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct RuntimeFilter {
#[prost(string, tag = "1")]
pub runtime_key: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub percent_sampled: ::core::option::Option<
super::super::super::r#type::v3::FractionalPercent,
>,
#[prost(bool, tag = "3")]
pub use_independent_randomness: bool,
}
impl ::prost::Name for RuntimeFilter {
const NAME: &'static str = "RuntimeFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.RuntimeFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.RuntimeFilter".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct AndFilter {
#[prost(message, repeated, tag = "1")]
pub filters: ::prost::alloc::vec::Vec<AccessLogFilter>,
}
impl ::prost::Name for AndFilter {
const NAME: &'static str = "AndFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.AndFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.AndFilter".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct OrFilter {
#[prost(message, repeated, tag = "2")]
pub filters: ::prost::alloc::vec::Vec<AccessLogFilter>,
}
impl ::prost::Name for OrFilter {
const NAME: &'static str = "OrFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.OrFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.OrFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct HeaderFilter {
#[prost(message, optional, tag = "1")]
pub header: ::core::option::Option<super::super::route::v3::HeaderMatcher>,
}
impl ::prost::Name for HeaderFilter {
const NAME: &'static str = "HeaderFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.HeaderFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.HeaderFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ResponseFlagFilter {
#[prost(string, repeated, tag = "1")]
pub flags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
}
impl ::prost::Name for ResponseFlagFilter {
const NAME: &'static str = "ResponseFlagFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.ResponseFlagFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.ResponseFlagFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct GrpcStatusFilter {
#[prost(
enumeration = "grpc_status_filter::Status",
repeated,
packed = "false",
tag = "1"
)]
pub statuses: ::prost::alloc::vec::Vec<i32>,
#[prost(bool, tag = "2")]
pub exclude: bool,
}
pub mod grpc_status_filter {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Status {
Ok = 0,
Canceled = 1,
Unknown = 2,
InvalidArgument = 3,
DeadlineExceeded = 4,
NotFound = 5,
AlreadyExists = 6,
PermissionDenied = 7,
ResourceExhausted = 8,
FailedPrecondition = 9,
Aborted = 10,
OutOfRange = 11,
Unimplemented = 12,
Internal = 13,
Unavailable = 14,
DataLoss = 15,
Unauthenticated = 16,
}
impl Status {
pub fn as_str_name(&self) -> &'static str {
match self {
Self::Ok => "OK",
Self::Canceled => "CANCELED",
Self::Unknown => "UNKNOWN",
Self::InvalidArgument => "INVALID_ARGUMENT",
Self::DeadlineExceeded => "DEADLINE_EXCEEDED",
Self::NotFound => "NOT_FOUND",
Self::AlreadyExists => "ALREADY_EXISTS",
Self::PermissionDenied => "PERMISSION_DENIED",
Self::ResourceExhausted => "RESOURCE_EXHAUSTED",
Self::FailedPrecondition => "FAILED_PRECONDITION",
Self::Aborted => "ABORTED",
Self::OutOfRange => "OUT_OF_RANGE",
Self::Unimplemented => "UNIMPLEMENTED",
Self::Internal => "INTERNAL",
Self::Unavailable => "UNAVAILABLE",
Self::DataLoss => "DATA_LOSS",
Self::Unauthenticated => "UNAUTHENTICATED",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"OK" => Some(Self::Ok),
"CANCELED" => Some(Self::Canceled),
"UNKNOWN" => Some(Self::Unknown),
"INVALID_ARGUMENT" => Some(Self::InvalidArgument),
"DEADLINE_EXCEEDED" => Some(Self::DeadlineExceeded),
"NOT_FOUND" => Some(Self::NotFound),
"ALREADY_EXISTS" => Some(Self::AlreadyExists),
"PERMISSION_DENIED" => Some(Self::PermissionDenied),
"RESOURCE_EXHAUSTED" => Some(Self::ResourceExhausted),
"FAILED_PRECONDITION" => Some(Self::FailedPrecondition),
"ABORTED" => Some(Self::Aborted),
"OUT_OF_RANGE" => Some(Self::OutOfRange),
"UNIMPLEMENTED" => Some(Self::Unimplemented),
"INTERNAL" => Some(Self::Internal),
"UNAVAILABLE" => Some(Self::Unavailable),
"DATA_LOSS" => Some(Self::DataLoss),
"UNAUTHENTICATED" => Some(Self::Unauthenticated),
_ => None,
}
}
}
}
impl ::prost::Name for GrpcStatusFilter {
const NAME: &'static str = "GrpcStatusFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.GrpcStatusFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.GrpcStatusFilter".into()
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MetadataFilter {
#[prost(message, optional, tag = "1")]
pub matcher: ::core::option::Option<
super::super::super::r#type::matcher::v3::MetadataMatcher,
>,
#[prost(message, optional, tag = "2")]
pub match_if_key_not_found: ::core::option::Option<
super::super::super::super::google::protobuf::BoolValue,
>,
}
impl ::prost::Name for MetadataFilter {
const NAME: &'static str = "MetadataFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.MetadataFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.MetadataFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct LogTypeFilter {
#[prost(
enumeration = "super::super::super::data::accesslog::v3::AccessLogType",
repeated,
packed = "false",
tag = "1"
)]
pub types: ::prost::alloc::vec::Vec<i32>,
#[prost(bool, tag = "2")]
pub exclude: bool,
}
impl ::prost::Name for LogTypeFilter {
const NAME: &'static str = "LogTypeFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.LogTypeFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.LogTypeFilter".into()
}
}
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)]
pub struct ExtensionFilter {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(oneof = "extension_filter::ConfigType", tags = "3")]
pub config_type: ::core::option::Option<extension_filter::ConfigType>,
}
pub mod extension_filter {
#[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)]
pub enum ConfigType {
#[prost(message, tag = "3")]
TypedConfig(super::super::super::super::super::google::protobuf::Any),
}
}
impl ::prost::Name for ExtensionFilter {
const NAME: &'static str = "ExtensionFilter";
const PACKAGE: &'static str = "envoy.config.accesslog.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.config.accesslog.v3.ExtensionFilter".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.config.accesslog.v3.ExtensionFilter".into()
}
}