diff options
Diffstat (limited to 'src/rpc/envoy.service.tap.v2alpha.rs')
| -rw-r--r-- | src/rpc/envoy.service.tap.v2alpha.rs | 276 |
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 |
