envoy_types/generated/envoy.extensions.access_loggers.open_telemetry.v3.rs
1// This file is @generated by prost-build.
2///
3/// Configuration for the built-in `envoy.access_loggers.open_telemetry`
4/// : ref:`AccessLog <envoy_v3_api_msg_config.accesslog.v3.AccessLog>`. This configuration will
5/// populate `opentelemetry.proto.collector.v1.logs.ExportLogsServiceRequest.resource_logs <<https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/collector/logs/v1/logs_service.proto>`\_.>
6/// In addition, the request start time is set in the dedicated field.
7/// \[\#extension: envoy.access_loggers.open_telemetry\]
8/// \[\#next-free-field: 8\]
9#[derive(Clone, PartialEq, ::prost::Message)]
10pub struct OpenTelemetryAccessLogConfig {
11 /// \[\#comment:TODO(itamarkam): add 'filter_state_objects_to_log' to logs.\]
12 #[prost(message, optional, tag = "1")]
13 pub common_config: ::core::option::Option<
14 super::super::grpc::v3::CommonGrpcAccessLogConfig,
15 >,
16 /// If specified, Envoy will not generate built-in resource labels
17 /// like `log_name`, `zone_name`, `cluster_name`, `node_name`.
18 #[prost(bool, tag = "5")]
19 pub disable_builtin_labels: bool,
20 /// OpenTelemetry `Resource <<https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/logs/v1/logs.proto#L51>`\_>
21 /// attributes are filled with Envoy node info.
22 /// Example: `resource_attributes { values { key: "region" value { string_value: "cn-north-7" } } }`.
23 #[prost(message, optional, tag = "4")]
24 pub resource_attributes: ::core::option::Option<
25 super::super::super::super::super::opentelemetry::proto::common::v1::KeyValueList,
26 >,
27 /// OpenTelemetry `LogResource <<https://github.com/open-telemetry/opentelemetry-proto/blob/main/opentelemetry/proto/logs/v1/logs.proto>`\_>
28 /// fields, following `Envoy access logging formatting <<https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage>`\_.>
29 ///
30 /// See 'body' in the LogResource proto for more details.
31 /// Example: `body { string_value: "%PROTOCOL%" }`.
32 #[prost(message, optional, tag = "2")]
33 pub body: ::core::option::Option<
34 super::super::super::super::super::opentelemetry::proto::common::v1::AnyValue,
35 >,
36 /// See 'attributes' in the LogResource proto for more details.
37 /// Example: `attributes { values { key: "user_agent" value { string_value: "%REQ(USER-AGENT)%" } } }`.
38 #[prost(message, optional, tag = "3")]
39 pub attributes: ::core::option::Option<
40 super::super::super::super::super::opentelemetry::proto::common::v1::KeyValueList,
41 >,
42 /// Optional. Additional prefix to use on OpenTelemetry access logger stats. If empty, the stats will be rooted at
43 /// `access_logs.open_telemetry_access_log.`. If non-empty, stats will be rooted at
44 /// `access_logs.open_telemetry_access_log.<stat_prefix>.`.
45 #[prost(string, tag = "6")]
46 pub stat_prefix: ::prost::alloc::string::String,
47 /// Specifies a collection of Formatter plugins that can be called from the access log configuration.
48 /// See the formatters extensions documentation for details.
49 /// \[\#extension-category: envoy.formatter\]
50 #[prost(message, repeated, tag = "7")]
51 pub formatters: ::prost::alloc::vec::Vec<
52 super::super::super::super::config::core::v3::TypedExtensionConfig,
53 >,
54}
55impl ::prost::Name for OpenTelemetryAccessLogConfig {
56 const NAME: &'static str = "OpenTelemetryAccessLogConfig";
57 const PACKAGE: &'static str = "envoy.extensions.access_loggers.open_telemetry.v3";
58 fn full_name() -> ::prost::alloc::string::String {
59 "envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig"
60 .into()
61 }
62 fn type_url() -> ::prost::alloc::string::String {
63 "type.googleapis.com/envoy.extensions.access_loggers.open_telemetry.v3.OpenTelemetryAccessLogConfig"
64 .into()
65 }
66}