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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
// This file is @generated by prost-build.
///
/// Configuration for the built-in `envoy.access_loggers.http_grpc`
/// : ref:`AccessLog <envoy_v3_api_msg_config.accesslog.v3.AccessLog>`. This configuration will
/// populate :ref:`StreamAccessLogsMessage.http_logs <envoy_v3_api_field_service.accesslog.v3.StreamAccessLogsMessage.http_logs>`.
/// \[\#extension: envoy.access_loggers.http_grpc\]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct HttpGrpcAccessLogConfig {
#[prost(message, optional, tag = "1")]
pub common_config: ::core::option::Option<CommonGrpcAccessLogConfig>,
/// Additional request headers to log in :ref:`HTTPRequestProperties.request_headers <envoy_v3_api_field_data.accesslog.v3.HTTPRequestProperties.request_headers>`.
#[prost(string, repeated, tag = "2")]
pub additional_request_headers_to_log: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
/// Additional response headers to log in :ref:`HTTPResponseProperties.response_headers <envoy_v3_api_field_data.accesslog.v3.HTTPResponseProperties.response_headers>`.
#[prost(string, repeated, tag = "3")]
pub additional_response_headers_to_log: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
/// Additional response trailers to log in :ref:`HTTPResponseProperties.response_trailers <envoy_v3_api_field_data.accesslog.v3.HTTPResponseProperties.response_trailers>`.
#[prost(string, repeated, tag = "4")]
pub additional_response_trailers_to_log: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
}
impl ::prost::Name for HttpGrpcAccessLogConfig {
const NAME: &'static str = "HttpGrpcAccessLogConfig";
const PACKAGE: &'static str = "envoy.extensions.access_loggers.grpc.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.extensions.access_loggers.grpc.v3.HttpGrpcAccessLogConfig"
.into()
}
}
/// Configuration for the built-in `envoy.access_loggers.tcp_grpc` type. This configuration will
/// populate `StreamAccessLogsMessage.tcp_logs`.
/// \[\#extension: envoy.access_loggers.tcp_grpc\]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TcpGrpcAccessLogConfig {
#[prost(message, optional, tag = "1")]
pub common_config: ::core::option::Option<CommonGrpcAccessLogConfig>,
}
impl ::prost::Name for TcpGrpcAccessLogConfig {
const NAME: &'static str = "TcpGrpcAccessLogConfig";
const PACKAGE: &'static str = "envoy.extensions.access_loggers.grpc.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.extensions.access_loggers.grpc.v3.TcpGrpcAccessLogConfig"
.into()
}
}
/// Common configuration for gRPC access logs.
/// \[\#next-free-field: 9\]
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CommonGrpcAccessLogConfig {
/// The friendly name of the access log to be returned in :ref:`StreamAccessLogsMessage.Identifier <envoy_v3_api_msg_service.accesslog.v3.StreamAccessLogsMessage.Identifier>`. This allows the
/// access log server to differentiate between different access logs coming from the same Envoy.
#[prost(string, tag = "1")]
pub log_name: ::prost::alloc::string::String,
/// The gRPC service for the access log service.
#[prost(message, optional, tag = "2")]
pub grpc_service: ::core::option::Option<
super::super::super::super::config::core::v3::GrpcService,
>,
/// API version for access logs service transport protocol. This describes the access logs service
/// gRPC endpoint and version of messages used on the wire.
#[prost(
enumeration = "super::super::super::super::config::core::v3::ApiVersion",
tag = "6"
)]
pub transport_api_version: i32,
/// Interval for flushing access logs to the gRPC stream. Logger will flush requests every time
/// this interval is elapsed, or when batch size limit is hit, whichever comes first. Defaults to
/// 1 second.
#[prost(message, optional, tag = "3")]
pub buffer_flush_interval: ::core::option::Option<
super::super::super::super::super::google::protobuf::Duration,
>,
/// Soft size limit in bytes for access log entries buffer. Logger will buffer requests until
/// this limit it hit, or every time flush interval is elapsed, whichever comes first. Setting it
/// to zero effectively disables the batching. Defaults to 16384.
#[prost(message, optional, tag = "4")]
pub buffer_size_bytes: ::core::option::Option<
super::super::super::super::super::google::protobuf::UInt32Value,
>,
/// Additional filter state objects to log in :ref:`filter_state_objects <envoy_v3_api_field_data.accesslog.v3.AccessLogCommon.filter_state_objects>`.
/// Logger will call `FilterState::Object::serializeAsProto` to serialize the filter state object.
#[prost(string, repeated, tag = "5")]
pub filter_state_objects_to_log: ::prost::alloc::vec::Vec<
::prost::alloc::string::String,
>,
///
/// Sets the retry policy when the establishment of a gRPC stream fails.
/// If the stream succeeds at least once in establishing itself,
/// no retry will be performed no matter what gRPC status is received.
/// Note that only :ref:`num_retries <envoy_v3_api_field_config.core.v3.RetryPolicy.num_retries>`
/// will be used in this configuration. This feature is used only when you are using
/// : ref:`Envoy gRPC client <envoy_v3_api_field_config.core.v3.GrpcService.envoy_grpc>`.
#[prost(message, optional, tag = "7")]
pub grpc_stream_retry_policy: ::core::option::Option<
super::super::super::super::config::core::v3::RetryPolicy,
>,
/// A list of custom tags with unique tag name to create tags for the logs.
#[prost(message, repeated, tag = "8")]
pub custom_tags: ::prost::alloc::vec::Vec<
super::super::super::super::r#type::tracing::v3::CustomTag,
>,
}
impl ::prost::Name for CommonGrpcAccessLogConfig {
const NAME: &'static str = "CommonGrpcAccessLogConfig";
const PACKAGE: &'static str = "envoy.extensions.access_loggers.grpc.v3";
fn full_name() -> ::prost::alloc::string::String {
"envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig".into()
}
fn type_url() -> ::prost::alloc::string::String {
"type.googleapis.com/envoy.extensions.access_loggers.grpc.v3.CommonGrpcAccessLogConfig"
.into()
}
}