summaryrefslogtreecommitdiff
path: root/src/rpc/envoy.service.tap.v2alpha.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/rpc/envoy.service.tap.v2alpha.rs')
-rw-r--r--src/rpc/envoy.service.tap.v2alpha.rs276
1 files changed, 0 insertions, 276 deletions
diff --git a/src/rpc/envoy.service.tap.v2alpha.rs b/src/rpc/envoy.service.tap.v2alpha.rs
deleted file mode 100644
index cad9d33b..00000000
--- a/src/rpc/envoy.service.tap.v2alpha.rs
+++ /dev/null
@@ -1,276 +0,0 @@
-// @generated
-// This file is @generated by prost-build.
-// \[#protodoc-title: Common tap configuration\]
-
-/// Tap configuration.
-///
-/// \[#comment:TODO(mattklein123): Rate limiting\]
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct TapConfig {
- /// The match configuration. If the configuration matches the data source being tapped, a tap will
- /// occur, with the result written to the configured output.
- #[prost(message, optional, tag="1")]
- pub match_config: ::core::option::Option<MatchPredicate>,
- /// The tap output configuration. If a match configuration matches a data source being tapped,
- /// a tap will occur and the data will be written to the configured output.
- #[prost(message, optional, tag="2")]
- pub output_config: ::core::option::Option<OutputConfig>,
- /// \[#not-implemented-hide:\] Specify if Tap matching is enabled. The % of requests\connections for
- /// which the tap matching is enabled. When not enabled, the request\connection will not be
- /// recorded.
- ///
- /// .. note::
- ///
- /// This field defaults to 100/:ref:`HUNDRED
- /// <envoy_api_enum_type.FractionalPercent.DenominatorType>`.
- #[prost(message, optional, tag="3")]
- pub tap_enabled: ::core::option::Option<super::super::super::api::v2::core::RuntimeFractionalPercent>,
-}
-/// Tap match configuration. This is a recursive structure which allows complex nested match
-/// configurations to be built using various logical operators.
-/// \[#next-free-field: 9\]
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct MatchPredicate {
- #[prost(oneof="match_predicate::Rule", tags="1, 2, 3, 4, 5, 6, 7, 8")]
- pub rule: ::core::option::Option<match_predicate::Rule>,
-}
-/// Nested message and enum types in `MatchPredicate`.
-pub mod match_predicate {
- /// A set of match configurations used for logical operations.
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
- pub struct MatchSet {
- /// The list of rules that make up the set.
- #[prost(message, repeated, tag="1")]
- pub rules: ::prost::alloc::vec::Vec<super::MatchPredicate>,
- }
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Oneof)]
- pub enum Rule {
- /// A set that describes a logical OR. If any member of the set matches, the match configuration
- /// matches.
- #[prost(message, tag="1")]
- OrMatch(MatchSet),
- /// A set that describes a logical AND. If all members of the set match, the match configuration
- /// matches.
- #[prost(message, tag="2")]
- AndMatch(MatchSet),
- /// A negation match. The match configuration will match if the negated match condition matches.
- #[prost(message, tag="3")]
- NotMatch(::prost::alloc::boxed::Box<super::MatchPredicate>),
- /// The match configuration will always match.
- #[prost(bool, tag="4")]
- AnyMatch(bool),
- /// HTTP request headers match configuration.
- #[prost(message, tag="5")]
- HttpRequestHeadersMatch(super::HttpHeadersMatch),
- /// HTTP request trailers match configuration.
- #[prost(message, tag="6")]
- HttpRequestTrailersMatch(super::HttpHeadersMatch),
- /// HTTP response headers match configuration.
- #[prost(message, tag="7")]
- HttpResponseHeadersMatch(super::HttpHeadersMatch),
- /// HTTP response trailers match configuration.
- #[prost(message, tag="8")]
- HttpResponseTrailersMatch(super::HttpHeadersMatch),
- }
-}
-/// HTTP headers match configuration.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct HttpHeadersMatch {
- /// HTTP headers to match.
- #[prost(message, repeated, tag="1")]
- pub headers: ::prost::alloc::vec::Vec<super::super::super::api::v2::route::HeaderMatcher>,
-}
-/// Tap output configuration.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct OutputConfig {
- /// Output sinks for tap data. Currently a single sink is allowed in the list. Once multiple
- /// sink types are supported this constraint will be relaxed.
- #[prost(message, repeated, tag="1")]
- pub sinks: ::prost::alloc::vec::Vec<OutputSink>,
- /// For buffered tapping, the maximum amount of received body that will be buffered prior to
- /// truncation. If truncation occurs, the :ref:`truncated
- /// <envoy_api_field_data.tap.v2alpha.Body.truncated>` field will be set. If not specified, the
- /// default is 1KiB.
- #[prost(message, optional, tag="2")]
- pub max_buffered_rx_bytes: ::core::option::Option<super::super::super::super::google::protobuf::UInt32Value>,
- /// For buffered tapping, the maximum amount of transmitted body that will be buffered prior to
- /// truncation. If truncation occurs, the :ref:`truncated
- /// <envoy_api_field_data.tap.v2alpha.Body.truncated>` field will be set. If not specified, the
- /// default is 1KiB.
- #[prost(message, optional, tag="3")]
- pub max_buffered_tx_bytes: ::core::option::Option<super::super::super::super::google::protobuf::UInt32Value>,
- /// Indicates whether taps produce a single buffered message per tap, or multiple streamed
- /// messages per tap in the emitted :ref:`TraceWrapper
- /// <envoy_api_msg_data.tap.v2alpha.TraceWrapper>` messages. Note that streamed tapping does not
- /// mean that no buffering takes place. Buffering may be required if data is processed before a
- /// match can be determined. See the HTTP tap filter :ref:`streaming
- /// <config_http_filters_tap_streaming>` documentation for more information.
- #[prost(bool, tag="4")]
- pub streaming: bool,
-}
-/// Tap output sink configuration.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct OutputSink {
- /// Sink output format.
- #[prost(enumeration="output_sink::Format", tag="1")]
- pub format: i32,
- #[prost(oneof="output_sink::OutputSinkType", tags="2, 3, 4")]
- pub output_sink_type: ::core::option::Option<output_sink::OutputSinkType>,
-}
-/// Nested message and enum types in `OutputSink`.
-pub mod output_sink {
- /// Output format. All output is in the form of one or more :ref:`TraceWrapper
- /// <envoy_api_msg_data.tap.v2alpha.TraceWrapper>` messages. This enumeration indicates
- /// how those messages are written. Note that not all sinks support all output formats. See
- /// individual sink documentation for more information.
- #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
- #[repr(i32)]
- pub enum Format {
- /// Each message will be written as JSON. Any :ref:`body <envoy_api_msg_data.tap.v2alpha.Body>`
- /// data will be present in the :ref:`as_bytes
- /// <envoy_api_field_data.tap.v2alpha.Body.as_bytes>` field. This means that body data will be
- /// base64 encoded as per the `proto3 JSON mappings
- /// <<https://developers.google.com/protocol-buffers/docs/proto3#json>`_.>
- JsonBodyAsBytes = 0,
- /// Each message will be written as JSON. Any :ref:`body <envoy_api_msg_data.tap.v2alpha.Body>`
- /// data will be present in the :ref:`as_string
- /// <envoy_api_field_data.tap.v2alpha.Body.as_string>` field. This means that body data will be
- /// string encoded as per the `proto3 JSON mappings
- /// <<https://developers.google.com/protocol-buffers/docs/proto3#json>`_.> This format type is
- /// useful when it is known that that body is human readable (e.g., JSON over HTTP) and the
- /// user wishes to view it directly without being forced to base64 decode the body.
- JsonBodyAsString = 1,
- /// Binary proto format. Note that binary proto is not self-delimiting. If a sink writes
- /// multiple binary messages without any length information the data stream will not be
- /// useful. However, for certain sinks that are self-delimiting (e.g., one message per file)
- /// this output format makes consumption simpler.
- ProtoBinary = 2,
- /// Messages are written as a sequence tuples, where each tuple is the message length encoded
- /// as a `protobuf 32-bit varint
- /// <<https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.coded_stream>`_>
- /// followed by the binary message. The messages can be read back using the language specific
- /// protobuf coded stream implementation to obtain the message length and the message.
- ProtoBinaryLengthDelimited = 3,
- /// Text proto format.
- ProtoText = 4,
- }
- impl Format {
- /// String value of the enum field names used in the ProtoBuf definition.
- ///
- /// The values are not transformed in any way and thus are considered stable
- /// (if the ProtoBuf definition does not change) and safe for programmatic use.
- pub fn as_str_name(&self) -> &'static str {
- match self {
- Format::JsonBodyAsBytes => "JSON_BODY_AS_BYTES",
- Format::JsonBodyAsString => "JSON_BODY_AS_STRING",
- Format::ProtoBinary => "PROTO_BINARY",
- Format::ProtoBinaryLengthDelimited => "PROTO_BINARY_LENGTH_DELIMITED",
- Format::ProtoText => "PROTO_TEXT",
- }
- }
- /// Creates an enum from field names used in the ProtoBuf definition.
- pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
- match value {
- "JSON_BODY_AS_BYTES" => Some(Self::JsonBodyAsBytes),
- "JSON_BODY_AS_STRING" => Some(Self::JsonBodyAsString),
- "PROTO_BINARY" => Some(Self::ProtoBinary),
- "PROTO_BINARY_LENGTH_DELIMITED" => Some(Self::ProtoBinaryLengthDelimited),
- "PROTO_TEXT" => Some(Self::ProtoText),
- _ => None,
- }
- }
- }
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Oneof)]
- pub enum OutputSinkType {
- /// Tap output will be streamed out the :http:post:`/tap` admin endpoint.
- ///
- /// .. attention::
- ///
- /// It is only allowed to specify the streaming admin output sink if the tap is being
- /// configured from the :http:post:`/tap` admin endpoint. Thus, if an extension has
- /// been configured to receive tap configuration from some other source (e.g., static
- /// file, XDS, etc.) configuring the streaming admin output type will fail.
- #[prost(message, tag="2")]
- StreamingAdmin(super::StreamingAdminSink),
- /// Tap output will be written to a file per tap sink.
- #[prost(message, tag="3")]
- FilePerTap(super::FilePerTapSink),
- /// \[#not-implemented-hide:\]
- /// GrpcService to stream data to. The format argument must be PROTO_BINARY.
- #[prost(message, tag="4")]
- StreamingGrpc(super::StreamingGrpcSink),
- }
-}
-/// Streaming admin sink configuration.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, Copy, PartialEq, ::prost::Message)]
-pub struct StreamingAdminSink {
-}
-/// The file per tap sink outputs a discrete file for every tapped stream.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct FilePerTapSink {
- /// Path prefix. The output file will be of the form <path_prefix>_<id>.pb, where <id> is an
- /// identifier distinguishing the recorded trace for stream instances (the Envoy
- /// connection ID, HTTP stream ID, etc.).
- #[prost(string, tag="1")]
- pub path_prefix: ::prost::alloc::string::String,
-}
-/// \[#not-implemented-hide:\] Streaming gRPC sink configuration sends the taps to an external gRPC
-/// server.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct StreamingGrpcSink {
- /// Opaque identifier, that will be sent back to the streaming grpc server.
- #[prost(string, tag="1")]
- pub tap_id: ::prost::alloc::string::String,
- /// The gRPC server that hosts the Tap Sink Service.
- #[prost(message, optional, tag="2")]
- pub grpc_service: ::core::option::Option<super::super::super::api::v2::core::GrpcService>,
-}
-/// \[#not-implemented-hide:\] Stream message for the Tap API. Envoy will open a stream to the server
-/// and stream taps without ever expecting a response.
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
-pub struct StreamTapsRequest {
- /// Identifier data effectively is a structured metadata. As a performance optimization this will
- /// only be sent in the first message on the stream.
- #[prost(message, optional, tag="1")]
- pub identifier: ::core::option::Option<stream_taps_request::Identifier>,
- /// The trace id. this can be used to merge together a streaming trace. Note that the trace_id
- /// is not guaranteed to be spatially or temporally unique.
- #[prost(uint64, tag="2")]
- pub trace_id: u64,
- /// The trace data.
- #[prost(message, optional, tag="3")]
- pub trace: ::core::option::Option<super::super::super::data::tap::v2alpha::TraceWrapper>,
-}
-/// Nested message and enum types in `StreamTapsRequest`.
-pub mod stream_taps_request {
- #[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, PartialEq, ::prost::Message)]
- pub struct Identifier {
- /// The node sending taps over the stream.
- #[prost(message, optional, tag="1")]
- pub node: ::core::option::Option<super::super::super::super::api::v2::core::Node>,
- /// The opaque identifier that was set in the :ref:`output config
- /// <envoy_api_field_service.tap.v2alpha.StreamingGrpcSink.tap_id>`.
- #[prost(string, tag="2")]
- pub tap_id: ::prost::alloc::string::String,
- }
-}
-/// \[#not-implemented-hide:\]
-#[allow(clippy::derive_partial_eq_without_eq)]
-#[derive(Clone, Copy, PartialEq, ::prost::Message)]
-pub struct StreamTapsResponse {
-}
-include!("envoy.service.tap.v2alpha.tonic.rs");
-// @@protoc_insertion_point(module) \ No newline at end of file