java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3
io.envoyproxy.envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, ExtAuthzOrBuilder, Serializable

public final class ExtAuthz extends com.google.protobuf.GeneratedMessageV3 implements ExtAuthzOrBuilder
 [#next-free-field: 30]
 
Protobuf type envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
See Also:
  • Field Details

    • GRPC_SERVICE_FIELD_NUMBER

      public static final int GRPC_SERVICE_FIELD_NUMBER
      See Also:
    • HTTP_SERVICE_FIELD_NUMBER

      public static final int HTTP_SERVICE_FIELD_NUMBER
      See Also:
    • TRANSPORT_API_VERSION_FIELD_NUMBER

      public static final int TRANSPORT_API_VERSION_FIELD_NUMBER
      See Also:
    • FAILURE_MODE_ALLOW_FIELD_NUMBER

      public static final int FAILURE_MODE_ALLOW_FIELD_NUMBER
      See Also:
    • FAILURE_MODE_ALLOW_HEADER_ADD_FIELD_NUMBER

      public static final int FAILURE_MODE_ALLOW_HEADER_ADD_FIELD_NUMBER
      See Also:
    • WITH_REQUEST_BODY_FIELD_NUMBER

      public static final int WITH_REQUEST_BODY_FIELD_NUMBER
      See Also:
    • CLEAR_ROUTE_CACHE_FIELD_NUMBER

      public static final int CLEAR_ROUTE_CACHE_FIELD_NUMBER
      See Also:
    • STATUS_ON_ERROR_FIELD_NUMBER

      public static final int STATUS_ON_ERROR_FIELD_NUMBER
      See Also:
    • VALIDATE_MUTATIONS_FIELD_NUMBER

      public static final int VALIDATE_MUTATIONS_FIELD_NUMBER
      See Also:
    • METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER

      public static final int METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
      See Also:
    • TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER

      public static final int TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
      See Also:
    • ROUTE_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER

      public static final int ROUTE_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
      See Also:
    • ROUTE_TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER

      public static final int ROUTE_TYPED_METADATA_CONTEXT_NAMESPACES_FIELD_NUMBER
      See Also:
    • FILTER_ENABLED_FIELD_NUMBER

      public static final int FILTER_ENABLED_FIELD_NUMBER
      See Also:
    • FILTER_ENABLED_METADATA_FIELD_NUMBER

      public static final int FILTER_ENABLED_METADATA_FIELD_NUMBER
      See Also:
    • DENY_AT_DISABLE_FIELD_NUMBER

      public static final int DENY_AT_DISABLE_FIELD_NUMBER
      See Also:
    • INCLUDE_PEER_CERTIFICATE_FIELD_NUMBER

      public static final int INCLUDE_PEER_CERTIFICATE_FIELD_NUMBER
      See Also:
    • STAT_PREFIX_FIELD_NUMBER

      public static final int STAT_PREFIX_FIELD_NUMBER
      See Also:
    • BOOTSTRAP_METADATA_LABELS_KEY_FIELD_NUMBER

      public static final int BOOTSTRAP_METADATA_LABELS_KEY_FIELD_NUMBER
      See Also:
    • ALLOWED_HEADERS_FIELD_NUMBER

      public static final int ALLOWED_HEADERS_FIELD_NUMBER
      See Also:
    • DISALLOWED_HEADERS_FIELD_NUMBER

      public static final int DISALLOWED_HEADERS_FIELD_NUMBER
      See Also:
    • INCLUDE_TLS_SESSION_FIELD_NUMBER

      public static final int INCLUDE_TLS_SESSION_FIELD_NUMBER
      See Also:
    • CHARGE_CLUSTER_RESPONSE_STATS_FIELD_NUMBER

      public static final int CHARGE_CLUSTER_RESPONSE_STATS_FIELD_NUMBER
      See Also:
    • ENCODE_RAW_HEADERS_FIELD_NUMBER

      public static final int ENCODE_RAW_HEADERS_FIELD_NUMBER
      See Also:
    • DECODER_HEADER_MUTATION_RULES_FIELD_NUMBER

      public static final int DECODER_HEADER_MUTATION_RULES_FIELD_NUMBER
      See Also:
    • ENABLE_DYNAMIC_METADATA_INGESTION_FIELD_NUMBER

      public static final int ENABLE_DYNAMIC_METADATA_INGESTION_FIELD_NUMBER
      See Also:
    • FILTER_METADATA_FIELD_NUMBER

      public static final int FILTER_METADATA_FIELD_NUMBER
      See Also:
    • EMIT_FILTER_STATE_STATS_FIELD_NUMBER

      public static final int EMIT_FILTER_STATE_STATS_FIELD_NUMBER
      See Also:
  • Method Details

    • newInstance

      protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
      Overrides:
      newInstance in class com.google.protobuf.GeneratedMessageV3
    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3
    • getServicesCase

      public ExtAuthz.ServicesCase getServicesCase()
      Specified by:
      getServicesCase in interface ExtAuthzOrBuilder
    • hasGrpcService

      public boolean hasGrpcService()
       gRPC service configuration (default timeout: 200ms).
       
      .envoy.config.core.v3.GrpcService grpc_service = 1;
      Specified by:
      hasGrpcService in interface ExtAuthzOrBuilder
      Returns:
      Whether the grpcService field is set.
    • getGrpcService

      public GrpcService getGrpcService()
       gRPC service configuration (default timeout: 200ms).
       
      .envoy.config.core.v3.GrpcService grpc_service = 1;
      Specified by:
      getGrpcService in interface ExtAuthzOrBuilder
      Returns:
      The grpcService.
    • getGrpcServiceOrBuilder

      public GrpcServiceOrBuilder getGrpcServiceOrBuilder()
       gRPC service configuration (default timeout: 200ms).
       
      .envoy.config.core.v3.GrpcService grpc_service = 1;
      Specified by:
      getGrpcServiceOrBuilder in interface ExtAuthzOrBuilder
    • hasHttpService

      public boolean hasHttpService()
       HTTP service configuration (default timeout: 200ms).
       
      .envoy.extensions.filters.http.ext_authz.v3.HttpService http_service = 3;
      Specified by:
      hasHttpService in interface ExtAuthzOrBuilder
      Returns:
      Whether the httpService field is set.
    • getHttpService

      public HttpService getHttpService()
       HTTP service configuration (default timeout: 200ms).
       
      .envoy.extensions.filters.http.ext_authz.v3.HttpService http_service = 3;
      Specified by:
      getHttpService in interface ExtAuthzOrBuilder
      Returns:
      The httpService.
    • getHttpServiceOrBuilder

      public HttpServiceOrBuilder getHttpServiceOrBuilder()
       HTTP service configuration (default timeout: 200ms).
       
      .envoy.extensions.filters.http.ext_authz.v3.HttpService http_service = 3;
      Specified by:
      getHttpServiceOrBuilder in interface ExtAuthzOrBuilder
    • getTransportApiVersionValue

      public int getTransportApiVersionValue()
       API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and
       version of messages used on the wire.
       
      .envoy.config.core.v3.ApiVersion transport_api_version = 12 [(.validate.rules) = { ... }
      Specified by:
      getTransportApiVersionValue in interface ExtAuthzOrBuilder
      Returns:
      The enum numeric value on the wire for transportApiVersion.
    • getTransportApiVersion

      public ApiVersion getTransportApiVersion()
       API version for ext_authz transport protocol. This describes the ext_authz gRPC endpoint and
       version of messages used on the wire.
       
      .envoy.config.core.v3.ApiVersion transport_api_version = 12 [(.validate.rules) = { ... }
      Specified by:
      getTransportApiVersion in interface ExtAuthzOrBuilder
      Returns:
      The transportApiVersion.
    • getFailureModeAllow

      public boolean getFailureModeAllow()
        Changes filter's behavior on errors:
      
        1. When set to true, the filter will ``accept`` client request even if the communication with
        the authorization service has failed, or if the authorization service has returned a HTTP 5xx
        error.
      
        2. When set to false, ext-authz will ``reject`` client requests and return a ``Forbidden``
        response if the communication with the authorization service has failed, or if the
        authorization service has returned a HTTP 5xx error.
      
       Note that errors can be ``always`` tracked in the :ref:`stats
       <config_http_filters_ext_authz_stats>`.
       
      bool failure_mode_allow = 2;
      Specified by:
      getFailureModeAllow in interface ExtAuthzOrBuilder
      Returns:
      The failureModeAllow.
    • getFailureModeAllowHeaderAdd

      public boolean getFailureModeAllowHeaderAdd()
       When ``failure_mode_allow`` and ``failure_mode_allow_header_add`` are both set to true,
       ``x-envoy-auth-failure-mode-allowed: true`` will be added to request headers if the communication
       with the authorization service has failed, or if the authorization service has returned a
       HTTP 5xx error.
       
      bool failure_mode_allow_header_add = 19;
      Specified by:
      getFailureModeAllowHeaderAdd in interface ExtAuthzOrBuilder
      Returns:
      The failureModeAllowHeaderAdd.
    • hasWithRequestBody

      public boolean hasWithRequestBody()
       Enables filter to buffer the client request body and send it within the authorization request.
       A ``x-envoy-auth-partial-body: false|true`` metadata header will be added to the authorization
       request message indicating if the body data is partial.
       
      .envoy.extensions.filters.http.ext_authz.v3.BufferSettings with_request_body = 5;
      Specified by:
      hasWithRequestBody in interface ExtAuthzOrBuilder
      Returns:
      Whether the withRequestBody field is set.
    • getWithRequestBody

      public BufferSettings getWithRequestBody()
       Enables filter to buffer the client request body and send it within the authorization request.
       A ``x-envoy-auth-partial-body: false|true`` metadata header will be added to the authorization
       request message indicating if the body data is partial.
       
      .envoy.extensions.filters.http.ext_authz.v3.BufferSettings with_request_body = 5;
      Specified by:
      getWithRequestBody in interface ExtAuthzOrBuilder
      Returns:
      The withRequestBody.
    • getWithRequestBodyOrBuilder

      public BufferSettingsOrBuilder getWithRequestBodyOrBuilder()
       Enables filter to buffer the client request body and send it within the authorization request.
       A ``x-envoy-auth-partial-body: false|true`` metadata header will be added to the authorization
       request message indicating if the body data is partial.
       
      .envoy.extensions.filters.http.ext_authz.v3.BufferSettings with_request_body = 5;
      Specified by:
      getWithRequestBodyOrBuilder in interface ExtAuthzOrBuilder
    • getClearRouteCache

      public boolean getClearRouteCache()
       Clears route cache in order to allow the external authorization service to correctly affect
       routing decisions. Filter clears all cached routes when:
      
       1. The field is set to ``true``.
      
       2. The status returned from the authorization service is a HTTP 200 or gRPC 0.
      
       3. At least one ``authorization response header`` is added to the client request, or is used for
       altering another client request header.
       
      bool clear_route_cache = 6;
      Specified by:
      getClearRouteCache in interface ExtAuthzOrBuilder
      Returns:
      The clearRouteCache.
    • hasStatusOnError

      public boolean hasStatusOnError()
       Sets the HTTP status that is returned to the client when the authorization server returns an error
       or cannot be reached. The default status is HTTP 403 Forbidden.
       
      .envoy.type.v3.HttpStatus status_on_error = 7;
      Specified by:
      hasStatusOnError in interface ExtAuthzOrBuilder
      Returns:
      Whether the statusOnError field is set.
    • getStatusOnError

      public HttpStatus getStatusOnError()
       Sets the HTTP status that is returned to the client when the authorization server returns an error
       or cannot be reached. The default status is HTTP 403 Forbidden.
       
      .envoy.type.v3.HttpStatus status_on_error = 7;
      Specified by:
      getStatusOnError in interface ExtAuthzOrBuilder
      Returns:
      The statusOnError.
    • getStatusOnErrorOrBuilder

      public HttpStatusOrBuilder getStatusOnErrorOrBuilder()
       Sets the HTTP status that is returned to the client when the authorization server returns an error
       or cannot be reached. The default status is HTTP 403 Forbidden.
       
      .envoy.type.v3.HttpStatus status_on_error = 7;
      Specified by:
      getStatusOnErrorOrBuilder in interface ExtAuthzOrBuilder
    • getValidateMutations

      public boolean getValidateMutations()
       When this is set to true, the filter will check the :ref:`ext_authz response
       <envoy_v3_api_msg_service.auth.v3.CheckResponse>` for invalid header &
       query parameter mutations. If the side stream response is invalid, it will send a local reply
       to the downstream request with status HTTP 500 Internal Server Error.
      
       Note that headers_to_remove & query_parameters_to_remove are validated, but invalid elements in
       those fields should not affect any headers & thus will not cause the filter to send a local
       reply.
      
       When set to false, any invalid mutations will be visible to the rest of envoy and may cause
       unexpected behavior.
      
       If you are using ext_authz with an untrusted ext_authz server, you should set this to true.
       
      bool validate_mutations = 24;
      Specified by:
      getValidateMutations in interface ExtAuthzOrBuilder
      Returns:
      The validateMutations.
    • getMetadataContextNamespacesList

      public com.google.protobuf.ProtocolStringList getMetadataContextNamespacesList()
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>`
       is passed as an opaque ``protobuf::Struct``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata
       <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set,
       then the following will pass the jwt payload to the authorization server.
      
       .. code-block:: yaml
      
          metadata_context_namespaces:
          - envoy.filters.http.jwt_authn
       
      repeated string metadata_context_namespaces = 8;
      Specified by:
      getMetadataContextNamespacesList in interface ExtAuthzOrBuilder
      Returns:
      A list containing the metadataContextNamespaces.
    • getMetadataContextNamespacesCount

      public int getMetadataContextNamespacesCount()
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>`
       is passed as an opaque ``protobuf::Struct``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata
       <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set,
       then the following will pass the jwt payload to the authorization server.
      
       .. code-block:: yaml
      
          metadata_context_namespaces:
          - envoy.filters.http.jwt_authn
       
      repeated string metadata_context_namespaces = 8;
      Specified by:
      getMetadataContextNamespacesCount in interface ExtAuthzOrBuilder
      Returns:
      The count of metadataContextNamespaces.
    • getMetadataContextNamespaces

      public String getMetadataContextNamespaces(int index)
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>`
       is passed as an opaque ``protobuf::Struct``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata
       <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set,
       then the following will pass the jwt payload to the authorization server.
      
       .. code-block:: yaml
      
          metadata_context_namespaces:
          - envoy.filters.http.jwt_authn
       
      repeated string metadata_context_namespaces = 8;
      Specified by:
      getMetadataContextNamespaces in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The metadataContextNamespaces at the given index.
    • getMetadataContextNamespacesBytes

      public com.google.protobuf.ByteString getMetadataContextNamespacesBytes(int index)
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. The :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>`
       is passed as an opaque ``protobuf::Struct``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       For example, if the ``jwt_authn`` filter is used and :ref:`payload_in_metadata
       <envoy_v3_api_field_extensions.filters.http.jwt_authn.v3.JwtProvider.payload_in_metadata>` is set,
       then the following will pass the jwt payload to the authorization server.
      
       .. code-block:: yaml
      
          metadata_context_namespaces:
          - envoy.filters.http.jwt_authn
       
      repeated string metadata_context_namespaces = 8;
      Specified by:
      getMetadataContextNamespacesBytes in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the metadataContextNamespaces at the given index.
    • getTypedMetadataContextNamespacesList

      public com.google.protobuf.ProtocolStringList getTypedMetadataContextNamespacesList()
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>`
       is passed as a ``protobuf::Any``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       It works in a way similar to ``metadata_context_namespaces`` but allows Envoy and ext_authz server to share
       the protobuf message definition in order to do a safe parsing.
       
      repeated string typed_metadata_context_namespaces = 16;
      Specified by:
      getTypedMetadataContextNamespacesList in interface ExtAuthzOrBuilder
      Returns:
      A list containing the typedMetadataContextNamespaces.
    • getTypedMetadataContextNamespacesCount

      public int getTypedMetadataContextNamespacesCount()
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>`
       is passed as a ``protobuf::Any``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       It works in a way similar to ``metadata_context_namespaces`` but allows Envoy and ext_authz server to share
       the protobuf message definition in order to do a safe parsing.
       
      repeated string typed_metadata_context_namespaces = 16;
      Specified by:
      getTypedMetadataContextNamespacesCount in interface ExtAuthzOrBuilder
      Returns:
      The count of typedMetadataContextNamespaces.
    • getTypedMetadataContextNamespaces

      public String getTypedMetadataContextNamespaces(int index)
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>`
       is passed as a ``protobuf::Any``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       It works in a way similar to ``metadata_context_namespaces`` but allows Envoy and ext_authz server to share
       the protobuf message definition in order to do a safe parsing.
       
      repeated string typed_metadata_context_namespaces = 16;
      Specified by:
      getTypedMetadataContextNamespaces in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The typedMetadataContextNamespaces at the given index.
    • getTypedMetadataContextNamespacesBytes

      public com.google.protobuf.ByteString getTypedMetadataContextNamespacesBytes(int index)
       Specifies a list of metadata namespaces whose values, if present, will be passed to the
       ext_authz service. :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>`
       is passed as a ``protobuf::Any``.
      
       Please note that this field exclusively applies to the gRPC ext_authz service and has no effect on the HTTP service.
      
       It works in a way similar to ``metadata_context_namespaces`` but allows Envoy and ext_authz server to share
       the protobuf message definition in order to do a safe parsing.
       
      repeated string typed_metadata_context_namespaces = 16;
      Specified by:
      getTypedMetadataContextNamespacesBytes in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the typedMetadataContextNamespaces at the given index.
    • getRouteMetadataContextNamespacesList

      public com.google.protobuf.ProtocolStringList getRouteMetadataContextNamespacesList()
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
       
      repeated string route_metadata_context_namespaces = 21;
      Specified by:
      getRouteMetadataContextNamespacesList in interface ExtAuthzOrBuilder
      Returns:
      A list containing the routeMetadataContextNamespaces.
    • getRouteMetadataContextNamespacesCount

      public int getRouteMetadataContextNamespacesCount()
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
       
      repeated string route_metadata_context_namespaces = 21;
      Specified by:
      getRouteMetadataContextNamespacesCount in interface ExtAuthzOrBuilder
      Returns:
      The count of routeMetadataContextNamespaces.
    • getRouteMetadataContextNamespaces

      public String getRouteMetadataContextNamespaces(int index)
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
       
      repeated string route_metadata_context_namespaces = 21;
      Specified by:
      getRouteMetadataContextNamespaces in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The routeMetadataContextNamespaces at the given index.
    • getRouteMetadataContextNamespacesBytes

      public com.google.protobuf.ByteString getRouteMetadataContextNamespacesBytes(int index)
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.filter_metadata>` is passed as an opaque ``protobuf::Struct``.
       
      repeated string route_metadata_context_namespaces = 21;
      Specified by:
      getRouteMetadataContextNamespacesBytes in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the routeMetadataContextNamespaces at the given index.
    • getRouteTypedMetadataContextNamespacesList

      public com.google.protobuf.ProtocolStringList getRouteTypedMetadataContextNamespacesList()
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as an ``protobuf::Any``.
       
      repeated string route_typed_metadata_context_namespaces = 22;
      Specified by:
      getRouteTypedMetadataContextNamespacesList in interface ExtAuthzOrBuilder
      Returns:
      A list containing the routeTypedMetadataContextNamespaces.
    • getRouteTypedMetadataContextNamespacesCount

      public int getRouteTypedMetadataContextNamespacesCount()
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as an ``protobuf::Any``.
       
      repeated string route_typed_metadata_context_namespaces = 22;
      Specified by:
      getRouteTypedMetadataContextNamespacesCount in interface ExtAuthzOrBuilder
      Returns:
      The count of routeTypedMetadataContextNamespaces.
    • getRouteTypedMetadataContextNamespaces

      public String getRouteTypedMetadataContextNamespaces(int index)
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as an ``protobuf::Any``.
       
      repeated string route_typed_metadata_context_namespaces = 22;
      Specified by:
      getRouteTypedMetadataContextNamespaces in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the element to return.
      Returns:
      The routeTypedMetadataContextNamespaces at the given index.
    • getRouteTypedMetadataContextNamespacesBytes

      public com.google.protobuf.ByteString getRouteTypedMetadataContextNamespacesBytes(int index)
       Specifies a list of route metadata namespaces whose values, if present, will be passed to the
       ext_authz service at :ref:`route_metadata_context <envoy_v3_api_field_service.auth.v3.AttributeContext.route_metadata_context>` in
       :ref:`CheckRequest <envoy_v3_api_field_service.auth.v3.CheckRequest.attributes>`.
       :ref:`typed_filter_metadata <envoy_v3_api_field_config.core.v3.Metadata.typed_filter_metadata>` is passed as an ``protobuf::Any``.
       
      repeated string route_typed_metadata_context_namespaces = 22;
      Specified by:
      getRouteTypedMetadataContextNamespacesBytes in interface ExtAuthzOrBuilder
      Parameters:
      index - The index of the value to return.
      Returns:
      The bytes of the routeTypedMetadataContextNamespaces at the given index.
    • hasFilterEnabled

      public boolean hasFilterEnabled()
       Specifies if the filter is enabled.
      
       If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.runtime_key>` is specified,
       Envoy will lookup the runtime key to get the percentage of requests to filter.
      
       If this field is not specified, the filter will be enabled for all requests.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 9;
      Specified by:
      hasFilterEnabled in interface ExtAuthzOrBuilder
      Returns:
      Whether the filterEnabled field is set.
    • getFilterEnabled

      public RuntimeFractionalPercent getFilterEnabled()
       Specifies if the filter is enabled.
      
       If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.runtime_key>` is specified,
       Envoy will lookup the runtime key to get the percentage of requests to filter.
      
       If this field is not specified, the filter will be enabled for all requests.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 9;
      Specified by:
      getFilterEnabled in interface ExtAuthzOrBuilder
      Returns:
      The filterEnabled.
    • getFilterEnabledOrBuilder

      public RuntimeFractionalPercentOrBuilder getFilterEnabledOrBuilder()
       Specifies if the filter is enabled.
      
       If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFractionalPercent.runtime_key>` is specified,
       Envoy will lookup the runtime key to get the percentage of requests to filter.
      
       If this field is not specified, the filter will be enabled for all requests.
       
      .envoy.config.core.v3.RuntimeFractionalPercent filter_enabled = 9;
      Specified by:
      getFilterEnabledOrBuilder in interface ExtAuthzOrBuilder
    • hasFilterEnabledMetadata

      public boolean hasFilterEnabledMetadata()
       Specifies if the filter is enabled with metadata matcher.
       If this field is not specified, the filter will be enabled for all requests.
       
      .envoy.type.matcher.v3.MetadataMatcher filter_enabled_metadata = 14;
      Specified by:
      hasFilterEnabledMetadata in interface ExtAuthzOrBuilder
      Returns:
      Whether the filterEnabledMetadata field is set.
    • getFilterEnabledMetadata

      public MetadataMatcher getFilterEnabledMetadata()
       Specifies if the filter is enabled with metadata matcher.
       If this field is not specified, the filter will be enabled for all requests.
       
      .envoy.type.matcher.v3.MetadataMatcher filter_enabled_metadata = 14;
      Specified by:
      getFilterEnabledMetadata in interface ExtAuthzOrBuilder
      Returns:
      The filterEnabledMetadata.
    • getFilterEnabledMetadataOrBuilder

      public MetadataMatcherOrBuilder getFilterEnabledMetadataOrBuilder()
       Specifies if the filter is enabled with metadata matcher.
       If this field is not specified, the filter will be enabled for all requests.
       
      .envoy.type.matcher.v3.MetadataMatcher filter_enabled_metadata = 14;
      Specified by:
      getFilterEnabledMetadataOrBuilder in interface ExtAuthzOrBuilder
    • hasDenyAtDisable

      public boolean hasDenyAtDisable()
       Specifies whether to deny the requests, when the filter is disabled.
       If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.runtime_key>` is specified,
       Envoy will lookup the runtime key to determine whether to deny request for
       filter protected path at filter disabling. If filter is disabled in
       typed_per_filter_config for the path, requests will not be denied.
      
       If this field is not specified, all requests will be allowed when disabled.
      
       If a request is denied due to this setting, the response code in :ref:`status_on_error
       <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.status_on_error>` will
       be returned.
       
      .envoy.config.core.v3.RuntimeFeatureFlag deny_at_disable = 11;
      Specified by:
      hasDenyAtDisable in interface ExtAuthzOrBuilder
      Returns:
      Whether the denyAtDisable field is set.
    • getDenyAtDisable

      public RuntimeFeatureFlag getDenyAtDisable()
       Specifies whether to deny the requests, when the filter is disabled.
       If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.runtime_key>` is specified,
       Envoy will lookup the runtime key to determine whether to deny request for
       filter protected path at filter disabling. If filter is disabled in
       typed_per_filter_config for the path, requests will not be denied.
      
       If this field is not specified, all requests will be allowed when disabled.
      
       If a request is denied due to this setting, the response code in :ref:`status_on_error
       <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.status_on_error>` will
       be returned.
       
      .envoy.config.core.v3.RuntimeFeatureFlag deny_at_disable = 11;
      Specified by:
      getDenyAtDisable in interface ExtAuthzOrBuilder
      Returns:
      The denyAtDisable.
    • getDenyAtDisableOrBuilder

      public RuntimeFeatureFlagOrBuilder getDenyAtDisableOrBuilder()
       Specifies whether to deny the requests, when the filter is disabled.
       If :ref:`runtime_key <envoy_v3_api_field_config.core.v3.RuntimeFeatureFlag.runtime_key>` is specified,
       Envoy will lookup the runtime key to determine whether to deny request for
       filter protected path at filter disabling. If filter is disabled in
       typed_per_filter_config for the path, requests will not be denied.
      
       If this field is not specified, all requests will be allowed when disabled.
      
       If a request is denied due to this setting, the response code in :ref:`status_on_error
       <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.status_on_error>` will
       be returned.
       
      .envoy.config.core.v3.RuntimeFeatureFlag deny_at_disable = 11;
      Specified by:
      getDenyAtDisableOrBuilder in interface ExtAuthzOrBuilder
    • getIncludePeerCertificate

      public boolean getIncludePeerCertificate()
       Specifies if the peer certificate is sent to the external service.
      
       When this field is true, Envoy will include the peer X.509 certificate, if available, in the
       :ref:`certificate<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.certificate>`.
       
      bool include_peer_certificate = 10;
      Specified by:
      getIncludePeerCertificate in interface ExtAuthzOrBuilder
      Returns:
      The includePeerCertificate.
    • getStatPrefix

      public String getStatPrefix()
       Optional additional prefix to use when emitting statistics. This allows to distinguish
       emitted statistics between configured ``ext_authz`` filters in an HTTP filter chain. For example:
      
       .. code-block:: yaml
      
         http_filters:
           - name: envoy.filters.http.ext_authz
             typed_config:
               "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
               stat_prefix: waf # This emits ext_authz.waf.ok, ext_authz.waf.denied, etc.
           - name: envoy.filters.http.ext_authz
             typed_config:
               "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
               stat_prefix: blocker # This emits ext_authz.blocker.ok, ext_authz.blocker.denied, etc.
       
      string stat_prefix = 13;
      Specified by:
      getStatPrefix in interface ExtAuthzOrBuilder
      Returns:
      The statPrefix.
    • getStatPrefixBytes

      public com.google.protobuf.ByteString getStatPrefixBytes()
       Optional additional prefix to use when emitting statistics. This allows to distinguish
       emitted statistics between configured ``ext_authz`` filters in an HTTP filter chain. For example:
      
       .. code-block:: yaml
      
         http_filters:
           - name: envoy.filters.http.ext_authz
             typed_config:
               "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
               stat_prefix: waf # This emits ext_authz.waf.ok, ext_authz.waf.denied, etc.
           - name: envoy.filters.http.ext_authz
             typed_config:
               "@type": type.googleapis.com/envoy.extensions.filters.http.ext_authz.v3.ExtAuthz
               stat_prefix: blocker # This emits ext_authz.blocker.ok, ext_authz.blocker.denied, etc.
       
      string stat_prefix = 13;
      Specified by:
      getStatPrefixBytes in interface ExtAuthzOrBuilder
      Returns:
      The bytes for statPrefix.
    • getBootstrapMetadataLabelsKey

      public String getBootstrapMetadataLabelsKey()
       Optional labels that will be passed to :ref:`labels<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.labels>` in
       :ref:`destination<envoy_v3_api_field_service.auth.v3.AttributeContext.destination>`.
       The labels will be read from :ref:`metadata<envoy_v3_api_msg_config.core.v3.Node>` with the specified key.
       
      string bootstrap_metadata_labels_key = 15;
      Specified by:
      getBootstrapMetadataLabelsKey in interface ExtAuthzOrBuilder
      Returns:
      The bootstrapMetadataLabelsKey.
    • getBootstrapMetadataLabelsKeyBytes

      public com.google.protobuf.ByteString getBootstrapMetadataLabelsKeyBytes()
       Optional labels that will be passed to :ref:`labels<envoy_v3_api_field_service.auth.v3.AttributeContext.Peer.labels>` in
       :ref:`destination<envoy_v3_api_field_service.auth.v3.AttributeContext.destination>`.
       The labels will be read from :ref:`metadata<envoy_v3_api_msg_config.core.v3.Node>` with the specified key.
       
      string bootstrap_metadata_labels_key = 15;
      Specified by:
      getBootstrapMetadataLabelsKeyBytes in interface ExtAuthzOrBuilder
      Returns:
      The bytes for bootstrapMetadataLabelsKey.
    • hasAllowedHeaders

      public boolean hasAllowedHeaders()
       Check request to authorization server will include the client request headers that have a correspondent match
       in the :ref:`list <envoy_v3_api_msg_type.matcher.v3.ListStringMatcher>`. If this option isn't specified, then
       all client request headers are included in the check request to a gRPC authorization server, whereas no client request headers
       (besides the ones allowed by default - see note below) are included in the check request to an HTTP authorization server.
       This inconsistency between gRPC and HTTP servers is to maintain backwards compatibility with legacy behavior.
      
       .. note::
      
        1. For requests to an HTTP authorization server: in addition to the user's supplied matchers, ``Host``, ``Method``, ``Path``,
           ``Content-Length``, and ``Authorization`` are **additionally included** in the list.
      
       .. note::
      
        2. For requests to an HTTP authorization server: value of ``Content-Length`` will be set to 0 and the request to the
        authorization server will not have a message body. However, the check request can include the buffered
        client request body (controlled by :ref:`with_request_body
        <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.with_request_body>` setting),
        consequently the value of *Content-Length* of the authorization request reflects the size of
        its payload size.
      
       .. note::
      
        3. This can be overridden by the field ``disallowed_headers`` below. That is, if a header
        matches for both ``allowed_headers`` and ``disallowed_headers``, the header will NOT be sent.
       
      .envoy.type.matcher.v3.ListStringMatcher allowed_headers = 17;
      Specified by:
      hasAllowedHeaders in interface ExtAuthzOrBuilder
      Returns:
      Whether the allowedHeaders field is set.
    • getAllowedHeaders

      public ListStringMatcher getAllowedHeaders()
       Check request to authorization server will include the client request headers that have a correspondent match
       in the :ref:`list <envoy_v3_api_msg_type.matcher.v3.ListStringMatcher>`. If this option isn't specified, then
       all client request headers are included in the check request to a gRPC authorization server, whereas no client request headers
       (besides the ones allowed by default - see note below) are included in the check request to an HTTP authorization server.
       This inconsistency between gRPC and HTTP servers is to maintain backwards compatibility with legacy behavior.
      
       .. note::
      
        1. For requests to an HTTP authorization server: in addition to the user's supplied matchers, ``Host``, ``Method``, ``Path``,
           ``Content-Length``, and ``Authorization`` are **additionally included** in the list.
      
       .. note::
      
        2. For requests to an HTTP authorization server: value of ``Content-Length`` will be set to 0 and the request to the
        authorization server will not have a message body. However, the check request can include the buffered
        client request body (controlled by :ref:`with_request_body
        <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.with_request_body>` setting),
        consequently the value of *Content-Length* of the authorization request reflects the size of
        its payload size.
      
       .. note::
      
        3. This can be overridden by the field ``disallowed_headers`` below. That is, if a header
        matches for both ``allowed_headers`` and ``disallowed_headers``, the header will NOT be sent.
       
      .envoy.type.matcher.v3.ListStringMatcher allowed_headers = 17;
      Specified by:
      getAllowedHeaders in interface ExtAuthzOrBuilder
      Returns:
      The allowedHeaders.
    • getAllowedHeadersOrBuilder

      public ListStringMatcherOrBuilder getAllowedHeadersOrBuilder()
       Check request to authorization server will include the client request headers that have a correspondent match
       in the :ref:`list <envoy_v3_api_msg_type.matcher.v3.ListStringMatcher>`. If this option isn't specified, then
       all client request headers are included in the check request to a gRPC authorization server, whereas no client request headers
       (besides the ones allowed by default - see note below) are included in the check request to an HTTP authorization server.
       This inconsistency between gRPC and HTTP servers is to maintain backwards compatibility with legacy behavior.
      
       .. note::
      
        1. For requests to an HTTP authorization server: in addition to the user's supplied matchers, ``Host``, ``Method``, ``Path``,
           ``Content-Length``, and ``Authorization`` are **additionally included** in the list.
      
       .. note::
      
        2. For requests to an HTTP authorization server: value of ``Content-Length`` will be set to 0 and the request to the
        authorization server will not have a message body. However, the check request can include the buffered
        client request body (controlled by :ref:`with_request_body
        <envoy_v3_api_field_extensions.filters.http.ext_authz.v3.ExtAuthz.with_request_body>` setting),
        consequently the value of *Content-Length* of the authorization request reflects the size of
        its payload size.
      
       .. note::
      
        3. This can be overridden by the field ``disallowed_headers`` below. That is, if a header
        matches for both ``allowed_headers`` and ``disallowed_headers``, the header will NOT be sent.
       
      .envoy.type.matcher.v3.ListStringMatcher allowed_headers = 17;
      Specified by:
      getAllowedHeadersOrBuilder in interface ExtAuthzOrBuilder
    • hasDisallowedHeaders

      public boolean hasDisallowedHeaders()
       If set, specifically disallow any header in this list to be forwarded to the external
       authentication server. This overrides the above ``allowed_headers`` if a header matches both.
       
      .envoy.type.matcher.v3.ListStringMatcher disallowed_headers = 25;
      Specified by:
      hasDisallowedHeaders in interface ExtAuthzOrBuilder
      Returns:
      Whether the disallowedHeaders field is set.
    • getDisallowedHeaders

      public ListStringMatcher getDisallowedHeaders()
       If set, specifically disallow any header in this list to be forwarded to the external
       authentication server. This overrides the above ``allowed_headers`` if a header matches both.
       
      .envoy.type.matcher.v3.ListStringMatcher disallowed_headers = 25;
      Specified by:
      getDisallowedHeaders in interface ExtAuthzOrBuilder
      Returns:
      The disallowedHeaders.
    • getDisallowedHeadersOrBuilder

      public ListStringMatcherOrBuilder getDisallowedHeadersOrBuilder()
       If set, specifically disallow any header in this list to be forwarded to the external
       authentication server. This overrides the above ``allowed_headers`` if a header matches both.
       
      .envoy.type.matcher.v3.ListStringMatcher disallowed_headers = 25;
      Specified by:
      getDisallowedHeadersOrBuilder in interface ExtAuthzOrBuilder
    • getIncludeTlsSession

      public boolean getIncludeTlsSession()
       Specifies if the TLS session level details like SNI are sent to the external service.
      
       When this field is true, Envoy will include the SNI name used for TLSClientHello, if available, in the
       :ref:`tls_session<envoy_v3_api_field_service.auth.v3.AttributeContext.tls_session>`.
       
      bool include_tls_session = 18;
      Specified by:
      getIncludeTlsSession in interface ExtAuthzOrBuilder
      Returns:
      The includeTlsSession.
    • hasChargeClusterResponseStats

      public boolean hasChargeClusterResponseStats()
       Whether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure.
       Defaults to true.
       
      .google.protobuf.BoolValue charge_cluster_response_stats = 20;
      Specified by:
      hasChargeClusterResponseStats in interface ExtAuthzOrBuilder
      Returns:
      Whether the chargeClusterResponseStats field is set.
    • getChargeClusterResponseStats

      public com.google.protobuf.BoolValue getChargeClusterResponseStats()
       Whether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure.
       Defaults to true.
       
      .google.protobuf.BoolValue charge_cluster_response_stats = 20;
      Specified by:
      getChargeClusterResponseStats in interface ExtAuthzOrBuilder
      Returns:
      The chargeClusterResponseStats.
    • getChargeClusterResponseStatsOrBuilder

      public com.google.protobuf.BoolValueOrBuilder getChargeClusterResponseStatsOrBuilder()
       Whether to increment cluster statistics (e.g. cluster.<cluster_name>.upstream_rq_*) on authorization failure.
       Defaults to true.
       
      .google.protobuf.BoolValue charge_cluster_response_stats = 20;
      Specified by:
      getChargeClusterResponseStatsOrBuilder in interface ExtAuthzOrBuilder
    • getEncodeRawHeaders

      public boolean getEncodeRawHeaders()
       Whether to encode the raw headers (i.e. unsanitized values & unconcatenated multi-line headers)
       in authentication request. Works with both HTTP and gRPC clients.
      
       When this is set to true, header values are not sanitized. Headers with the same key will also
       not be combined into a single, comma-separated header.
       Requests to gRPC services will populate the field
       :ref:`header_map<envoy_v3_api_field_service.auth.v3.AttributeContext.HttpRequest.header_map>`.
       Requests to HTTP services will be constructed with the unsanitized header values and preserved
       multi-line headers with the same key.
      
       If this field is set to false, header values will be sanitized, with any non-UTF-8-compliant
       bytes replaced with '!'. Headers with the same key will have their values concatenated into a
       single comma-separated header value.
       Requests to gRPC services will populate the field
       :ref:`headers<envoy_v3_api_field_service.auth.v3.AttributeContext.HttpRequest.headers>`.
       Requests to HTTP services will have their header values sanitized and will not preserve
       multi-line headers with the same key.
      
       It's recommended you set this to true unless you already rely on the old behavior. False is the
       default only for backwards compatibility.
       
      bool encode_raw_headers = 23;
      Specified by:
      getEncodeRawHeaders in interface ExtAuthzOrBuilder
      Returns:
      The encodeRawHeaders.
    • hasDecoderHeaderMutationRules

      public boolean hasDecoderHeaderMutationRules()
       Rules for what modifications an ext_authz server may make to the request headers before
       continuing decoding / forwarding upstream.
      
       If set to anything, enables header mutation checking against configured rules. Note that
       :ref:`HeaderMutationRules <envoy_v3_api_msg_config.common.mutation_rules.v3.HeaderMutationRules>`
       has defaults that change ext_authz behavior. Also note that if this field is set to anything,
       ext_authz can no longer append to :-prefixed headers.
      
       If empty, header mutation rule checking is completely disabled.
      
       Regardless of what is configured here, ext_authz cannot remove :-prefixed headers.
      
       This field and ``validate_mutations`` have different use cases. ``validate_mutations`` enables
       correctness checks for all header / query parameter mutations (e.g. for invalid characters).
       This field allows the filter to reject mutations to specific headers.
       
      .envoy.config.common.mutation_rules.v3.HeaderMutationRules decoder_header_mutation_rules = 26;
      Specified by:
      hasDecoderHeaderMutationRules in interface ExtAuthzOrBuilder
      Returns:
      Whether the decoderHeaderMutationRules field is set.
    • getDecoderHeaderMutationRules

      public HeaderMutationRules getDecoderHeaderMutationRules()
       Rules for what modifications an ext_authz server may make to the request headers before
       continuing decoding / forwarding upstream.
      
       If set to anything, enables header mutation checking against configured rules. Note that
       :ref:`HeaderMutationRules <envoy_v3_api_msg_config.common.mutation_rules.v3.HeaderMutationRules>`
       has defaults that change ext_authz behavior. Also note that if this field is set to anything,
       ext_authz can no longer append to :-prefixed headers.
      
       If empty, header mutation rule checking is completely disabled.
      
       Regardless of what is configured here, ext_authz cannot remove :-prefixed headers.
      
       This field and ``validate_mutations`` have different use cases. ``validate_mutations`` enables
       correctness checks for all header / query parameter mutations (e.g. for invalid characters).
       This field allows the filter to reject mutations to specific headers.
       
      .envoy.config.common.mutation_rules.v3.HeaderMutationRules decoder_header_mutation_rules = 26;
      Specified by:
      getDecoderHeaderMutationRules in interface ExtAuthzOrBuilder
      Returns:
      The decoderHeaderMutationRules.
    • getDecoderHeaderMutationRulesOrBuilder

      public HeaderMutationRulesOrBuilder getDecoderHeaderMutationRulesOrBuilder()
       Rules for what modifications an ext_authz server may make to the request headers before
       continuing decoding / forwarding upstream.
      
       If set to anything, enables header mutation checking against configured rules. Note that
       :ref:`HeaderMutationRules <envoy_v3_api_msg_config.common.mutation_rules.v3.HeaderMutationRules>`
       has defaults that change ext_authz behavior. Also note that if this field is set to anything,
       ext_authz can no longer append to :-prefixed headers.
      
       If empty, header mutation rule checking is completely disabled.
      
       Regardless of what is configured here, ext_authz cannot remove :-prefixed headers.
      
       This field and ``validate_mutations`` have different use cases. ``validate_mutations`` enables
       correctness checks for all header / query parameter mutations (e.g. for invalid characters).
       This field allows the filter to reject mutations to specific headers.
       
      .envoy.config.common.mutation_rules.v3.HeaderMutationRules decoder_header_mutation_rules = 26;
      Specified by:
      getDecoderHeaderMutationRulesOrBuilder in interface ExtAuthzOrBuilder
    • hasEnableDynamicMetadataIngestion

      public boolean hasEnableDynamicMetadataIngestion()
       Enable / disable ingestion of dynamic metadata from ext_authz service.
      
       If false, the filter will ignore dynamic metadata injected by the ext_authz service. If the
       ext_authz service tries injecting dynamic metadata, the filter will log, increment the
       ``ignored_dynamic_metadata`` stat, then continue handling the response.
      
       If true, the filter will ingest dynamic metadata entries as normal.
      
       If unset, defaults to true.
       
      .google.protobuf.BoolValue enable_dynamic_metadata_ingestion = 27;
      Specified by:
      hasEnableDynamicMetadataIngestion in interface ExtAuthzOrBuilder
      Returns:
      Whether the enableDynamicMetadataIngestion field is set.
    • getEnableDynamicMetadataIngestion

      public com.google.protobuf.BoolValue getEnableDynamicMetadataIngestion()
       Enable / disable ingestion of dynamic metadata from ext_authz service.
      
       If false, the filter will ignore dynamic metadata injected by the ext_authz service. If the
       ext_authz service tries injecting dynamic metadata, the filter will log, increment the
       ``ignored_dynamic_metadata`` stat, then continue handling the response.
      
       If true, the filter will ingest dynamic metadata entries as normal.
      
       If unset, defaults to true.
       
      .google.protobuf.BoolValue enable_dynamic_metadata_ingestion = 27;
      Specified by:
      getEnableDynamicMetadataIngestion in interface ExtAuthzOrBuilder
      Returns:
      The enableDynamicMetadataIngestion.
    • getEnableDynamicMetadataIngestionOrBuilder

      public com.google.protobuf.BoolValueOrBuilder getEnableDynamicMetadataIngestionOrBuilder()
       Enable / disable ingestion of dynamic metadata from ext_authz service.
      
       If false, the filter will ignore dynamic metadata injected by the ext_authz service. If the
       ext_authz service tries injecting dynamic metadata, the filter will log, increment the
       ``ignored_dynamic_metadata`` stat, then continue handling the response.
      
       If true, the filter will ingest dynamic metadata entries as normal.
      
       If unset, defaults to true.
       
      .google.protobuf.BoolValue enable_dynamic_metadata_ingestion = 27;
      Specified by:
      getEnableDynamicMetadataIngestionOrBuilder in interface ExtAuthzOrBuilder
    • hasFilterMetadata

      public boolean hasFilterMetadata()
       Additional metadata to be added to the filter state for logging purposes. The metadata will be
       added to StreamInfo's filter state under the namespace corresponding to the ext_authz filter
       name.
       
      .google.protobuf.Struct filter_metadata = 28;
      Specified by:
      hasFilterMetadata in interface ExtAuthzOrBuilder
      Returns:
      Whether the filterMetadata field is set.
    • getFilterMetadata

      public com.google.protobuf.Struct getFilterMetadata()
       Additional metadata to be added to the filter state for logging purposes. The metadata will be
       added to StreamInfo's filter state under the namespace corresponding to the ext_authz filter
       name.
       
      .google.protobuf.Struct filter_metadata = 28;
      Specified by:
      getFilterMetadata in interface ExtAuthzOrBuilder
      Returns:
      The filterMetadata.
    • getFilterMetadataOrBuilder

      public com.google.protobuf.StructOrBuilder getFilterMetadataOrBuilder()
       Additional metadata to be added to the filter state for logging purposes. The metadata will be
       added to StreamInfo's filter state under the namespace corresponding to the ext_authz filter
       name.
       
      .google.protobuf.Struct filter_metadata = 28;
      Specified by:
      getFilterMetadataOrBuilder in interface ExtAuthzOrBuilder
    • getEmitFilterStateStats

      public boolean getEmitFilterStateStats()
       When set to true, the filter will emit per-stream stats for access logging. The filter state
       key will be the same as the filter name.
      
       If using Envoy gRPC, emits latency, bytes sent / received, upstream info, and upstream cluster
       info. If not using Envoy gRPC, emits only latency. Note that stats are ONLY added to filter
       state if a check request is actually made to an ext_authz service.
      
       If this is false the filter will not emit stats, but filter_metadata will still be respected if
       it has a value.
      
       Field ``latency_us`` is exposed for CEL and logging when using gRPC or HTTP service.
       Fields ``bytesSent`` and ``bytesReceived`` are exposed for CEL and logging only when using gRPC service.
       
      bool emit_filter_state_stats = 29;
      Specified by:
      getEmitFilterStateStats in interface ExtAuthzOrBuilder
      Returns:
      The emitFilterStateStats.
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessageV3
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessageV3
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessageV3
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static ExtAuthz parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ExtAuthz parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ExtAuthz parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ExtAuthz parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ExtAuthz parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ExtAuthz parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static ExtAuthz parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ExtAuthz parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static ExtAuthz parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static ExtAuthz parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ExtAuthz parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static ExtAuthz parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public ExtAuthz.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static ExtAuthz.Builder newBuilder()
    • newBuilder

      public static ExtAuthz.Builder newBuilder(ExtAuthz prototype)
    • toBuilder

      public ExtAuthz.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected ExtAuthz.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
      Specified by:
      newBuilderForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstance

      public static ExtAuthz getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<ExtAuthz> parser()
    • getParserForType

      public com.google.protobuf.Parser<ExtAuthz> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessageV3
    • getDefaultInstanceForType

      public ExtAuthz getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder