diff options
Diffstat (limited to 'src/rpc/envoy.service.ext_proc.v3.rs')
| -rw-r--r-- | src/rpc/envoy.service.ext_proc.v3.rs | 463 |
1 files changed, 0 insertions, 463 deletions
diff --git a/src/rpc/envoy.service.ext_proc.v3.rs b/src/rpc/envoy.service.ext_proc.v3.rs deleted file mode 100644 index bfdb9d91..00000000 --- a/src/rpc/envoy.service.ext_proc.v3.rs +++ /dev/null @@ -1,463 +0,0 @@ -// @generated -// This file is @generated by prost-build. -/// This message specifies the filter protocol configurations which will be sent to the ext_proc -/// server in a :ref:`ProcessingRequest <envoy_v3_api_msg_service.ext_proc.v3.ProcessingRequest>`. -/// If the server does not support these protocol configurations, it may choose to close the gRPC stream. -/// If the server supports these protocol configurations, it should respond based on the API specifications. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] -pub struct ProtocolConfiguration { - /// Specify the filter configuration :ref:`request_body_mode - /// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ProcessingMode.request_body_mode>` - #[prost(enumeration="super::super::super::extensions::filters::http::ext_proc::v3::processing_mode::BodySendMode", tag="1")] - pub request_body_mode: i32, - /// Specify the filter configuration :ref:`response_body_mode - /// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ProcessingMode.response_body_mode>` - #[prost(enumeration="super::super::super::extensions::filters::http::ext_proc::v3::processing_mode::BodySendMode", tag="2")] - pub response_body_mode: i32, - /// Specify the filter configuration :ref:`send_body_without_waiting_for_header_response - /// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.send_body_without_waiting_for_header_response>` - /// If the client is waiting for a header response from the server, setting ``true`` means the client will send body to the server - /// as they arrive. Setting ``false`` means the client will buffer the arrived data and not send it to the server immediately. - #[prost(bool, tag="3")] - pub send_body_without_waiting_for_header_response: bool, -} -/// This represents the different types of messages that Envoy can send -/// to an external processing server. -/// \[#next-free-field: 12\] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ProcessingRequest { - /// Dynamic metadata associated with the request. - #[prost(message, optional, tag="8")] - pub metadata_context: ::core::option::Option<super::super::super::config::core::v3::Metadata>, - /// The values of properties selected by the ``request_attributes`` - /// or ``response_attributes`` list in the configuration. Each entry - /// in the list is populated from the standard - /// :ref:`attributes <arch_overview_attributes>` supported across Envoy. - #[prost(map="string, message", tag="9")] - pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, super::super::super::super::google::protobuf::Struct>, - /// Specify whether the filter that sent this request is running in :ref:`observability_mode - /// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.observability_mode>` - /// and defaults to false. - /// - /// * A value of ``false`` indicates that the server must respond - /// to this message by either sending back a matching ProcessingResponse message, - /// or by closing the stream. - /// * A value of ``true`` indicates that the server should not respond to this message, as any - /// responses will be ignored. However, it may still close the stream to indicate that no more messages - /// are needed. - /// - #[prost(bool, tag="10")] - pub observability_mode: bool, - /// Specify the filter protocol configurations to be sent to the server. - /// ``protocol_config`` is only encoded in the first ``ProcessingRequest`` message from the client to the server. - #[prost(message, optional, tag="11")] - pub protocol_config: ::core::option::Option<ProtocolConfiguration>, - /// Each request message will include one of the following sub-messages. Which - /// ones are set for a particular HTTP request/response depend on the - /// processing mode. - #[prost(oneof="processing_request::Request", tags="2, 3, 4, 5, 6, 7")] - pub request: ::core::option::Option<processing_request::Request>, -} -/// Nested message and enum types in `ProcessingRequest`. -pub mod processing_request { - /// Each request message will include one of the following sub-messages. Which - /// ones are set for a particular HTTP request/response depend on the - /// processing mode. - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Request { - /// Information about the HTTP request headers, as well as peer info and additional - /// properties. Unless ``observability_mode`` is ``true``, the server must send back a - /// HeaderResponse message, an ImmediateResponse message, or close the stream. - #[prost(message, tag="2")] - RequestHeaders(super::HttpHeaders), - /// Information about the HTTP response headers, as well as peer info and additional - /// properties. Unless ``observability_mode`` is ``true``, the server must send back a - /// HeaderResponse message or close the stream. - #[prost(message, tag="3")] - ResponseHeaders(super::HttpHeaders), - /// A chunk of the HTTP request body. Unless ``observability_mode`` is true, the server must send back - /// a BodyResponse message, an ImmediateResponse message, or close the stream. - #[prost(message, tag="4")] - RequestBody(super::HttpBody), - /// A chunk of the HTTP response body. Unless ``observability_mode`` is ``true``, the server must send back - /// a BodyResponse message or close the stream. - #[prost(message, tag="5")] - ResponseBody(super::HttpBody), - /// The HTTP trailers for the request path. Unless ``observability_mode`` is ``true``, the server - /// must send back a TrailerResponse message or close the stream. - /// - /// This message is only sent if the trailers processing mode is set to ``SEND`` and - /// the original downstream request has trailers. - #[prost(message, tag="6")] - RequestTrailers(super::HttpTrailers), - /// The HTTP trailers for the response path. Unless ``observability_mode`` is ``true``, the server - /// must send back a TrailerResponse message or close the stream. - /// - /// This message is only sent if the trailers processing mode is set to ``SEND`` and - /// the original upstream response has trailers. - #[prost(message, tag="7")] - ResponseTrailers(super::HttpTrailers), - } -} -/// This represents the different types of messages the server may send back to Envoy -/// when the ``observability_mode`` field in the received ProcessingRequest is set to false. -/// -/// * If the corresponding ``BodySendMode`` in the -/// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>` -/// is not set to ``FULL_DUPLEX_STREAMED``, then for every received ProcessingRequest, -/// the server must send back exactly one ProcessingResponse message. -/// * If it is set to ``FULL_DUPLEX_STREAMED``, the server must follow the API defined -/// for this mode to send the ProcessingResponse messages. -/// \[#next-free-field: 11\] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ProcessingResponse { - /// Optional metadata that will be emitted as dynamic metadata to be consumed by - /// following filters. This metadata will be placed in the namespace(s) specified by the top-level - /// field name(s) of the struct. - #[prost(message, optional, tag="8")] - pub dynamic_metadata: ::core::option::Option<super::super::super::super::google::protobuf::Struct>, - /// Override how parts of the HTTP request and response are processed - /// for the duration of this particular request/response only. Servers - /// may use this to intelligently control how requests are processed - /// based on the headers and other metadata that they see. - /// This field is only applicable when servers responding to the header requests. - /// If it is set in the response to the body or trailer requests, it will be ignored by Envoy. - /// It is also ignored by Envoy when the ext_proc filter config - /// :ref:`allow_mode_override - /// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.allow_mode_override>` - /// is set to false, or - /// :ref:`send_body_without_waiting_for_header_response - /// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.send_body_without_waiting_for_header_response>` - /// is set to true. - #[prost(message, optional, tag="9")] - pub mode_override: ::core::option::Option<super::super::super::extensions::filters::http::ext_proc::v3::ProcessingMode>, - /// When ext_proc server receives a request message, in case it needs more - /// time to process the message, it sends back a ProcessingResponse message - /// with a new timeout value. When Envoy receives this response message, - /// it ignores other fields in the response, just stop the original timer, - /// which has the timeout value specified in - /// :ref:`message_timeout - /// <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.message_timeout>` - /// and start a new timer with this ``override_message_timeout`` value and keep the - /// Envoy ext_proc filter state machine intact. - /// Has to be >= 1ms and <= - /// :ref:`max_message_timeout <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.max_message_timeout>` - /// Such message can be sent at most once in a particular Envoy ext_proc filter processing state. - /// To enable this API, one has to set ``max_message_timeout`` to a number >= 1ms. - #[prost(message, optional, tag="10")] - pub override_message_timeout: ::core::option::Option<super::super::super::super::google::protobuf::Duration>, - /// The response type that is sent by the server. - #[prost(oneof="processing_response::Response", tags="1, 2, 3, 4, 5, 6, 7")] - pub response: ::core::option::Option<processing_response::Response>, -} -/// Nested message and enum types in `ProcessingResponse`. -pub mod processing_response { - /// The response type that is sent by the server. - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Response { - /// The server must send back this message in response to a message with the - /// ``request_headers`` field set. - #[prost(message, tag="1")] - RequestHeaders(super::HeadersResponse), - /// The server must send back this message in response to a message with the - /// ``response_headers`` field set. - #[prost(message, tag="2")] - ResponseHeaders(super::HeadersResponse), - /// The server must send back this message in response to a message with - /// the ``request_body`` field set. - #[prost(message, tag="3")] - RequestBody(super::BodyResponse), - /// The server must send back this message in response to a message with - /// the ``response_body`` field set. - #[prost(message, tag="4")] - ResponseBody(super::BodyResponse), - /// The server must send back this message in response to a message with - /// the ``request_trailers`` field set. - #[prost(message, tag="5")] - RequestTrailers(super::TrailersResponse), - /// The server must send back this message in response to a message with - /// the ``response_trailers`` field set. - #[prost(message, tag="6")] - ResponseTrailers(super::TrailersResponse), - /// If specified, attempt to create a locally generated response, send it - /// downstream, and stop processing additional filters and ignore any - /// additional messages received from the remote server for this request or - /// response. If a response has already started -- for example, if this - /// message is sent response to a ``response_body`` message -- then - /// this will either ship the reply directly to the downstream codec, - /// or reset the stream. - #[prost(message, tag="7")] - ImmediateResponse(super::ImmediateResponse), - } -} -// The following are messages that are sent to the server. - -/// This message is sent to the external server when the HTTP request and responses -/// are first received. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HttpHeaders { - /// The HTTP request headers. All header keys will be - /// lower-cased, because HTTP header keys are case-insensitive. - /// The header value is encoded in the - /// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. - #[prost(message, optional, tag="1")] - pub headers: ::core::option::Option<super::super::super::config::core::v3::HeaderMap>, - /// \[#not-implemented-hide:\] - /// This field is deprecated and not implemented. Attributes will be sent in - /// the top-level :ref:`attributes <envoy_v3_api_field_service.ext_proc.v3.ProcessingRequest.attributes` - /// field. - #[prost(map="string, message", tag="2")] - pub attributes: ::std::collections::HashMap<::prost::alloc::string::String, super::super::super::super::google::protobuf::Struct>, - /// If ``true``, then there is no message body associated with this - /// request or response. - #[prost(bool, tag="3")] - pub end_of_stream: bool, -} -/// This message is sent to the external server when the HTTP request and -/// response bodies are received. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HttpBody { - /// The contents of the body in the HTTP request/response. Note that in - /// streaming mode multiple ``HttpBody`` messages may be sent. - #[prost(bytes="vec", tag="1")] - pub body: ::prost::alloc::vec::Vec<u8>, - /// If ``true``, this will be the last ``HttpBody`` message that will be sent and no - /// trailers will be sent for the current request/response. - #[prost(bool, tag="2")] - pub end_of_stream: bool, -} -/// This message is sent to the external server when the HTTP request and -/// response trailers are received. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HttpTrailers { - /// The header value is encoded in the - /// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. - #[prost(message, optional, tag="1")] - pub trailers: ::core::option::Option<super::super::super::config::core::v3::HeaderMap>, -} -// The following are messages that may be sent back by the server. - -/// This message is sent by the external server to Envoy after ``HttpHeaders`` was -/// sent to it. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeadersResponse { - /// Details the modifications (if any) to be made by Envoy to the current - /// request/response. - #[prost(message, optional, tag="1")] - pub response: ::core::option::Option<CommonResponse>, -} -/// This message is sent by the external server to Envoy after ``HttpBody`` was -/// sent to it. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BodyResponse { - /// Details the modifications (if any) to be made by Envoy to the current - /// request/response. - #[prost(message, optional, tag="1")] - pub response: ::core::option::Option<CommonResponse>, -} -/// This message is sent by the external server to Envoy after ``HttpTrailers`` was -/// sent to it. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TrailersResponse { - /// Details the modifications (if any) to be made by Envoy to the current - /// request/response trailers. - #[prost(message, optional, tag="1")] - pub header_mutation: ::core::option::Option<HeaderMutation>, -} -/// This message contains common fields between header and body responses. -/// \[#next-free-field: 6\] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CommonResponse { - /// If set, provide additional direction on how the Envoy proxy should - /// handle the rest of the HTTP filter chain. - #[prost(enumeration="common_response::ResponseStatus", tag="1")] - pub status: i32, - /// Instructions on how to manipulate the headers. When responding to an - /// HttpBody request, header mutations will only take effect if - /// the current processing mode for the body is BUFFERED. - #[prost(message, optional, tag="2")] - pub header_mutation: ::core::option::Option<HeaderMutation>, - /// Replace the body of the last message sent to the remote server on this - /// stream. If responding to an HttpBody request, simply replace or clear - /// the body chunk that was sent with that request. Body mutations may take - /// effect in response either to ``header`` or ``body`` messages. When it is - /// in response to ``header`` messages, it only take effect if the - /// :ref:`status <envoy_v3_api_field_service.ext_proc.v3.CommonResponse.status>` - /// is set to CONTINUE_AND_REPLACE. - #[prost(message, optional, tag="3")] - pub body_mutation: ::core::option::Option<BodyMutation>, - /// \[#not-implemented-hide:\] - /// Add new trailers to the message. This may be used when responding to either a - /// HttpHeaders or HttpBody message, but only if this message is returned - /// along with the CONTINUE_AND_REPLACE status. - /// The header value is encoded in the - /// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. - #[prost(message, optional, tag="4")] - pub trailers: ::core::option::Option<super::super::super::config::core::v3::HeaderMap>, - /// Clear the route cache for the current client request. This is necessary - /// if the remote server modified headers that are used to calculate the route. - /// This field is ignored in the response direction. This field is also ignored - /// if the Envoy ext_proc filter is in the upstream filter chain. - #[prost(bool, tag="5")] - pub clear_route_cache: bool, -} -/// Nested message and enum types in `CommonResponse`. -pub mod common_response { - /// The status of the response. - #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] - #[repr(i32)] - pub enum ResponseStatus { - /// Apply the mutation instructions in this message to the - /// request or response, and then continue processing the filter - /// stream as normal. This is the default. - Continue = 0, - /// Apply the specified header mutation, replace the body with the body - /// specified in the body mutation (if present), and do not send any - /// further messages for this request or response even if the processing - /// mode is configured to do so. - /// - /// When used in response to a request_headers or response_headers message, - /// this status makes it possible to either completely replace the body - /// while discarding the original body, or to add a body to a message that - /// formerly did not have one. - /// - /// In other words, this response makes it possible to turn an HTTP GET - /// into a POST, PUT, or PATCH. - ContinueAndReplace = 1, - } - impl ResponseStatus { - /// 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 { - ResponseStatus::Continue => "CONTINUE", - ResponseStatus::ContinueAndReplace => "CONTINUE_AND_REPLACE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option<Self> { - match value { - "CONTINUE" => Some(Self::Continue), - "CONTINUE_AND_REPLACE" => Some(Self::ContinueAndReplace), - _ => None, - } - } - } -} -/// This message causes the filter to attempt to create a locally -/// generated response, send it downstream, stop processing -/// additional filters, and ignore any additional messages received -/// from the remote server for this request or response. If a response -/// has already started, then this will either ship the reply directly -/// to the downstream codec, or reset the stream. -/// \[#next-free-field: 6\] -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ImmediateResponse { - /// The response code to return. - #[prost(message, optional, tag="1")] - pub status: ::core::option::Option<super::super::super::r#type::v3::HttpStatus>, - /// Apply changes to the default headers, which will include content-type. - #[prost(message, optional, tag="2")] - pub headers: ::core::option::Option<HeaderMutation>, - /// The message body to return with the response which is sent using the - /// text/plain content type, or encoded in the grpc-message header. - #[prost(bytes="vec", tag="3")] - pub body: ::prost::alloc::vec::Vec<u8>, - /// If set, then include a gRPC status trailer. - #[prost(message, optional, tag="4")] - pub grpc_status: ::core::option::Option<GrpcStatus>, - /// A string detailing why this local reply was sent, which may be included - /// in log and debug output (e.g. this populates the %RESPONSE_CODE_DETAILS% - /// command operator field for use in access logging). - #[prost(string, tag="5")] - pub details: ::prost::alloc::string::String, -} -/// This message specifies a gRPC status for an ImmediateResponse message. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, Copy, PartialEq, ::prost::Message)] -pub struct GrpcStatus { - /// The actual gRPC status. - #[prost(uint32, tag="1")] - pub status: u32, -} -/// Change HTTP headers or trailers by appending, replacing, or removing -/// headers. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HeaderMutation { - /// Add or replace HTTP headers. Attempts to set the value of - /// any ``x-envoy`` header, and attempts to set the ``:method``, - /// ``:authority``, ``:scheme``, or ``host`` headers will be ignored. - /// The header value is encoded in the - /// :ref:`raw_value <envoy_v3_api_field_config.core.v3.HeaderValue.raw_value>` field. - #[prost(message, repeated, tag="1")] - pub set_headers: ::prost::alloc::vec::Vec<super::super::super::config::core::v3::HeaderValueOption>, - /// Remove these HTTP headers. Attempts to remove system headers -- - /// any header starting with ``:``, plus ``host`` -- will be ignored. - #[prost(string, repeated, tag="2")] - pub remove_headers: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -/// The body response message corresponding to FULL_DUPLEX_STREAMED body mode. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct StreamedBodyResponse { - /// The body response chunk that will be passed to the upstream/downstream by Envoy. - #[prost(bytes="vec", tag="1")] - pub body: ::prost::alloc::vec::Vec<u8>, - /// The server sets this flag to true if it has received a body request with - /// :ref:`end_of_stream <envoy_v3_api_field_service.ext_proc.v3.HttpBody.end_of_stream>` set to true, - /// and this is the last chunk of body responses. - #[prost(bool, tag="2")] - pub end_of_stream: bool, -} -/// This message specifies the body mutation the server sends to Envoy. -#[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BodyMutation { - /// The type of mutation for the body. - #[prost(oneof="body_mutation::Mutation", tags="1, 2, 3")] - pub mutation: ::core::option::Option<body_mutation::Mutation>, -} -/// Nested message and enum types in `BodyMutation`. -pub mod body_mutation { - /// The type of mutation for the body. - #[allow(clippy::derive_partial_eq_without_eq)] -#[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Mutation { - /// The entire body to replace. - /// Should only be used when the corresponding ``BodySendMode`` in the - /// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>` - /// is not set to ``FULL_DUPLEX_STREAMED``. - #[prost(bytes, tag="1")] - Body(::prost::alloc::vec::Vec<u8>), - /// Clear the corresponding body chunk. - /// Should only be used when the corresponding ``BodySendMode`` in the - /// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>` - /// is not set to ``FULL_DUPLEX_STREAMED``. - /// Clear the corresponding body chunk. - #[prost(bool, tag="2")] - ClearBody(bool), - /// Must be used when the corresponding ``BodySendMode`` in the - /// :ref:`processing_mode <envoy_v3_api_field_extensions.filters.http.ext_proc.v3.ExternalProcessor.processing_mode>` - /// is set to ``FULL_DUPLEX_STREAMED``. - #[prost(message, tag="3")] - StreamedResponse(super::StreamedBodyResponse), - } -} -include!("envoy.service.ext_proc.v3.tonic.rs"); -// @@protoc_insertion_point(module)
\ No newline at end of file |
