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}