envoy.config.accesslog.v2.als.proto Maven / Gradle / Ivy
syntax = "proto3";
package envoy.config.accesslog.v2;
option java_outer_classname = "AlsProto";
option java_multiple_files = true;
option java_package = "io.envoyproxy.envoy.config.accesslog.v2";
option go_package = "v2";
import "envoy/api/v2/core/grpc_service.proto";
import "validate/validate.proto";
// [#protodoc-title: gRPC Access Log Service (ALS)]
// Configuration for the built-in *envoy.http_grpc_access_log*
// :ref:`AccessLog `. This configuration will
// populate :ref:`StreamAccessLogsMessage.http_logs
// `.
message HttpGrpcAccessLogConfig {
CommonGrpcAccessLogConfig common_config = 1 [(validate.rules).message.required = true];
// Additional request headers to log in :ref:`HTTPRequestProperties.request_headers
// `.
repeated string additional_request_headers_to_log = 2;
// Additional response headers to log in :ref:`HTTPResponseProperties.response_headers
// `.
repeated string additional_response_headers_to_log = 3;
// Additional response trailers to log in :ref:`HTTPResponseProperties.response_trailers
// `.
repeated string additional_response_trailers_to_log = 4;
}
// Configuration for the built-in *envoy.tcp_grpc_access_log* type. This configuration will
// populate *StreamAccessLogsMessage.tcp_logs*.
// [#not-implemented-hide:]
message TcpGrpcAccessLogConfig {
CommonGrpcAccessLogConfig common_config = 1 [(validate.rules).message.required = true];
}
// Common configuration for gRPC access logs.
message CommonGrpcAccessLogConfig {
// The friendly name of the access log to be returned in :ref:`StreamAccessLogsMessage.Identifier
// `. This allows the
// access log server to differentiate between different access logs coming from the same Envoy.
string log_name = 1 [(validate.rules).string.min_bytes = 1];
// The gRPC service for the access log service.
envoy.api.v2.core.GrpcService grpc_service = 2 [(validate.rules).message.required = true];
}