// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v7.35.1
// source: envoy/extensions/filters/http/fault/v3/fault.proto

package faultv3

import (
	_ "github.com/cncf/xds/go/udpa/annotations"
	v32 "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
	v31 "github.com/envoyproxy/go-control-plane/envoy/extensions/filters/common/fault/v3"
	v3 "github.com/envoyproxy/go-control-plane/envoy/type/v3"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// [#next-free-field: 6]
type FaultAbort struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ErrorType:
	//
	//	*FaultAbort_HttpStatus
	//	*FaultAbort_GrpcStatus
	//	*FaultAbort_HeaderAbort_
	ErrorType isFaultAbort_ErrorType `protobuf_oneof:"error_type"`
	// The percentage of requests/operations/connections that will be aborted with the error code
	// provided.
	Percentage    *v3.FractionalPercent `protobuf:"bytes,3,opt,name=percentage,proto3" json:"percentage,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FaultAbort) Reset() {
	*x = FaultAbort{}
	mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FaultAbort) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FaultAbort) ProtoMessage() {}

func (x *FaultAbort) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FaultAbort.ProtoReflect.Descriptor instead.
func (*FaultAbort) Descriptor() ([]byte, []int) {
	return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP(), []int{0}
}

func (x *FaultAbort) GetErrorType() isFaultAbort_ErrorType {
	if x != nil {
		return x.ErrorType
	}
	return nil
}

func (x *FaultAbort) GetHttpStatus() uint32 {
	if x != nil {
		if x, ok := x.ErrorType.(*FaultAbort_HttpStatus); ok {
			return x.HttpStatus
		}
	}
	return 0
}

func (x *FaultAbort) GetGrpcStatus() uint32 {
	if x != nil {
		if x, ok := x.ErrorType.(*FaultAbort_GrpcStatus); ok {
			return x.GrpcStatus
		}
	}
	return 0
}

func (x *FaultAbort) GetHeaderAbort() *FaultAbort_HeaderAbort {
	if x != nil {
		if x, ok := x.ErrorType.(*FaultAbort_HeaderAbort_); ok {
			return x.HeaderAbort
		}
	}
	return nil
}

func (x *FaultAbort) GetPercentage() *v3.FractionalPercent {
	if x != nil {
		return x.Percentage
	}
	return nil
}

type isFaultAbort_ErrorType interface {
	isFaultAbort_ErrorType()
}

type FaultAbort_HttpStatus struct {
	// HTTP status code to use to abort the HTTP request.
	HttpStatus uint32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof"`
}

type FaultAbort_GrpcStatus struct {
	// gRPC status code to use to abort the gRPC request.
	GrpcStatus uint32 `protobuf:"varint,5,opt,name=grpc_status,json=grpcStatus,proto3,oneof"`
}

type FaultAbort_HeaderAbort_ struct {
	// Fault aborts are controlled via an HTTP header (if applicable).
	HeaderAbort *FaultAbort_HeaderAbort `protobuf:"bytes,4,opt,name=header_abort,json=headerAbort,proto3,oneof"`
}

func (*FaultAbort_HttpStatus) isFaultAbort_ErrorType() {}

func (*FaultAbort_GrpcStatus) isFaultAbort_ErrorType() {}

func (*FaultAbort_HeaderAbort_) isFaultAbort_ErrorType() {}

// [#next-free-field: 17]
type HTTPFault struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// If specified, the filter will inject delays based on the values in the
	// object.
	Delay *v31.FaultDelay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"`
	// If specified, the filter will abort requests based on the values in
	// the object. At least “abort“ or “delay“ must be specified.
	Abort *FaultAbort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"`
	// Specifies the name of the (destination) upstream cluster that the
	// filter should match on. Fault injection will be restricted to requests
	// bound to the specific upstream cluster.
	UpstreamCluster string `protobuf:"bytes,3,opt,name=upstream_cluster,json=upstreamCluster,proto3" json:"upstream_cluster,omitempty"`
	// Specifies a set of headers that the filter should match on. The fault
	// injection filter can be applied selectively to requests that match a set of
	// headers specified in the fault filter config. The chances of actual fault
	// injection further depend on the value of the :ref:`percentage
	// <envoy_v3_api_field_extensions.filters.http.fault.v3.FaultAbort.percentage>` field.
	// The filter will check the request's headers against all the specified
	// headers in the filter config. A match will happen if all the headers in the
	// config are present in the request with the same values (or based on
	// presence if the “value“ field is not in the config).
	Headers []*v32.HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"`
	// Faults are injected for the specified list of downstream hosts. If this
	// setting is not set, faults are injected for all downstream nodes.
	// Downstream node name is taken from :ref:`the HTTP
	// x-envoy-downstream-service-node
	// <config_http_conn_man_headers_downstream-service-node>` header and compared
	// against downstream_nodes list.
	DownstreamNodes []string `protobuf:"bytes,5,rep,name=downstream_nodes,json=downstreamNodes,proto3" json:"downstream_nodes,omitempty"`
	// The maximum number of faults that can be active at a single time via the configured fault
	// filter. Note that because this setting can be overridden at the route level, it's possible
	// for the number of active faults to be greater than this value (if injected via a different
	// route). If not specified, defaults to unlimited. This setting can be overridden via
	// “runtime <config_http_filters_fault_injection_runtime>“ and any faults that are not injected
	// due to overflow will be indicated via the “faults_overflow
	// <config_http_filters_fault_injection_stats>“ stat.
	//
	// .. attention::
	//
	//	Like other :ref:`circuit breakers <arch_overview_circuit_break>` in Envoy, this is a fuzzy
	//	limit. It's possible for the number of active faults to rise slightly above the configured
	//	amount due to the implementation details.
	MaxActiveFaults *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=max_active_faults,json=maxActiveFaults,proto3" json:"max_active_faults,omitempty"`
	// The response rate limit to be applied to the response body of the stream. When configured,
	// the percentage can be overridden by the :ref:`fault.http.rate_limit.response_percent
	// <config_http_filters_fault_injection_runtime>` runtime key.
	//
	// .. attention::
	//
	//	This is a per-stream limit versus a connection level limit. This means that concurrent streams
	//	will each get an independent limit.
	ResponseRateLimit *v31.FaultRateLimit `protobuf:"bytes,7,opt,name=response_rate_limit,json=responseRateLimit,proto3" json:"response_rate_limit,omitempty"`
	// The runtime key to override the :ref:`default <config_http_filters_fault_injection_runtime>`
	// runtime. The default is: fault.http.delay.fixed_delay_percent
	DelayPercentRuntime string `protobuf:"bytes,8,opt,name=delay_percent_runtime,json=delayPercentRuntime,proto3" json:"delay_percent_runtime,omitempty"`
	// The runtime key to override the :ref:`default <config_http_filters_fault_injection_runtime>`
	// runtime. The default is: fault.http.abort.abort_percent
	AbortPercentRuntime string `protobuf:"bytes,9,opt,name=abort_percent_runtime,json=abortPercentRuntime,proto3" json:"abort_percent_runtime,omitempty"`
	// The runtime key to override the :ref:`default <config_http_filters_fault_injection_runtime>`
	// runtime. The default is: fault.http.delay.fixed_duration_ms
	DelayDurationRuntime string `protobuf:"bytes,10,opt,name=delay_duration_runtime,json=delayDurationRuntime,proto3" json:"delay_duration_runtime,omitempty"`
	// The runtime key to override the :ref:`default <config_http_filters_fault_injection_runtime>`
	// runtime. The default is: fault.http.abort.http_status
	AbortHttpStatusRuntime string `protobuf:"bytes,11,opt,name=abort_http_status_runtime,json=abortHttpStatusRuntime,proto3" json:"abort_http_status_runtime,omitempty"`
	// The runtime key to override the :ref:`default <config_http_filters_fault_injection_runtime>`
	// runtime. The default is: fault.http.max_active_faults
	MaxActiveFaultsRuntime string `protobuf:"bytes,12,opt,name=max_active_faults_runtime,json=maxActiveFaultsRuntime,proto3" json:"max_active_faults_runtime,omitempty"`
	// The runtime key to override the :ref:`default <config_http_filters_fault_injection_runtime>`
	// runtime. The default is: fault.http.rate_limit.response_percent
	ResponseRateLimitPercentRuntime string `protobuf:"bytes,13,opt,name=response_rate_limit_percent_runtime,json=responseRateLimitPercentRuntime,proto3" json:"response_rate_limit_percent_runtime,omitempty"`
	// The runtime key to override the :ref:`default <config_http_filters_fault_injection_runtime>`
	// runtime. The default is: fault.http.abort.grpc_status
	AbortGrpcStatusRuntime string `protobuf:"bytes,14,opt,name=abort_grpc_status_runtime,json=abortGrpcStatusRuntime,proto3" json:"abort_grpc_status_runtime,omitempty"`
	// To control whether stats storage is allocated dynamically for each downstream server.
	// If set to true, "x-envoy-downstream-service-cluster" field of header will be ignored by this filter.
	// If set to false, dynamic stats storage will be allocated for the downstream cluster name.
	// Default value is false.
	DisableDownstreamClusterStats bool `protobuf:"varint,15,opt,name=disable_downstream_cluster_stats,json=disableDownstreamClusterStats,proto3" json:"disable_downstream_cluster_stats,omitempty"`
	// When an abort or delay fault is executed, the metadata struct provided here will be added to the
	// request's dynamic metadata under the namespace corresponding to the name of the fault filter.
	// This data can be logged as part of Access Logs using the :ref:`command operator
	// <config_access_log_command_operators>` %DYNAMIC_METADATA(NAMESPACE)%, where NAMESPACE is the name of
	// the fault filter.
	FilterMetadata *structpb.Struct `protobuf:"bytes,16,opt,name=filter_metadata,json=filterMetadata,proto3" json:"filter_metadata,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *HTTPFault) Reset() {
	*x = HTTPFault{}
	mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *HTTPFault) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*HTTPFault) ProtoMessage() {}

func (x *HTTPFault) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use HTTPFault.ProtoReflect.Descriptor instead.
func (*HTTPFault) Descriptor() ([]byte, []int) {
	return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP(), []int{1}
}

func (x *HTTPFault) GetDelay() *v31.FaultDelay {
	if x != nil {
		return x.Delay
	}
	return nil
}

func (x *HTTPFault) GetAbort() *FaultAbort {
	if x != nil {
		return x.Abort
	}
	return nil
}

func (x *HTTPFault) GetUpstreamCluster() string {
	if x != nil {
		return x.UpstreamCluster
	}
	return ""
}

func (x *HTTPFault) GetHeaders() []*v32.HeaderMatcher {
	if x != nil {
		return x.Headers
	}
	return nil
}

func (x *HTTPFault) GetDownstreamNodes() []string {
	if x != nil {
		return x.DownstreamNodes
	}
	return nil
}

func (x *HTTPFault) GetMaxActiveFaults() *wrapperspb.UInt32Value {
	if x != nil {
		return x.MaxActiveFaults
	}
	return nil
}

func (x *HTTPFault) GetResponseRateLimit() *v31.FaultRateLimit {
	if x != nil {
		return x.ResponseRateLimit
	}
	return nil
}

func (x *HTTPFault) GetDelayPercentRuntime() string {
	if x != nil {
		return x.DelayPercentRuntime
	}
	return ""
}

func (x *HTTPFault) GetAbortPercentRuntime() string {
	if x != nil {
		return x.AbortPercentRuntime
	}
	return ""
}

func (x *HTTPFault) GetDelayDurationRuntime() string {
	if x != nil {
		return x.DelayDurationRuntime
	}
	return ""
}

func (x *HTTPFault) GetAbortHttpStatusRuntime() string {
	if x != nil {
		return x.AbortHttpStatusRuntime
	}
	return ""
}

func (x *HTTPFault) GetMaxActiveFaultsRuntime() string {
	if x != nil {
		return x.MaxActiveFaultsRuntime
	}
	return ""
}

func (x *HTTPFault) GetResponseRateLimitPercentRuntime() string {
	if x != nil {
		return x.ResponseRateLimitPercentRuntime
	}
	return ""
}

func (x *HTTPFault) GetAbortGrpcStatusRuntime() string {
	if x != nil {
		return x.AbortGrpcStatusRuntime
	}
	return ""
}

func (x *HTTPFault) GetDisableDownstreamClusterStats() bool {
	if x != nil {
		return x.DisableDownstreamClusterStats
	}
	return false
}

func (x *HTTPFault) GetFilterMetadata() *structpb.Struct {
	if x != nil {
		return x.FilterMetadata
	}
	return nil
}

// Fault aborts are controlled via an HTTP header (if applicable). See the
// :ref:`HTTP fault filter <config_http_filters_fault_injection_http_header>` documentation for
// more information.
type FaultAbort_HeaderAbort struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *FaultAbort_HeaderAbort) Reset() {
	*x = FaultAbort_HeaderAbort{}
	mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *FaultAbort_HeaderAbort) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*FaultAbort_HeaderAbort) ProtoMessage() {}

func (x *FaultAbort_HeaderAbort) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use FaultAbort_HeaderAbort.ProtoReflect.Descriptor instead.
func (*FaultAbort_HeaderAbort) Descriptor() ([]byte, []int) {
	return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP(), []int{0, 0}
}

var File_envoy_extensions_filters_http_fault_v3_fault_proto protoreflect.FileDescriptor

const file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc = "" +
	"\n" +
	"2envoy/extensions/filters/http/fault/v3/fault.proto\x12&envoy.extensions.filters.http.fault.v3\x1a,envoy/config/route/v3/route_components.proto\x1a4envoy/extensions/filters/common/fault/v3/fault.proto\x1a\x1benvoy/type/v3/percent.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"\xa4\x03\n" +
	"\n" +
	"FaultAbort\x12.\n" +
	"\vhttp_status\x18\x02 \x01(\rB\v\xfaB\b*\x06\x10\xd8\x04(\xc8\x01H\x00R\n" +
	"httpStatus\x12!\n" +
	"\vgrpc_status\x18\x05 \x01(\rH\x00R\n" +
	"grpcStatus\x12c\n" +
	"\fheader_abort\x18\x04 \x01(\v2>.envoy.extensions.filters.http.fault.v3.FaultAbort.HeaderAbortH\x00R\vheaderAbort\x12@\n" +
	"\n" +
	"percentage\x18\x03 \x01(\v2 .envoy.type.v3.FractionalPercentR\n" +
	"percentage\x1aN\n" +
	"\vHeaderAbort:?\x9aň\x1e:\n" +
	"8envoy.config.filter.http.fault.v2.FaultAbort.HeaderAbort:3\x9aň\x1e.\n" +
	",envoy.config.filter.http.fault.v2.FaultAbortB\x11\n" +
	"\n" +
	"error_type\x12\x03\xf8B\x01J\x04\b\x01\x10\x02\"\xc7\b\n" +
	"\tHTTPFault\x12J\n" +
	"\x05delay\x18\x01 \x01(\v24.envoy.extensions.filters.common.fault.v3.FaultDelayR\x05delay\x12H\n" +
	"\x05abort\x18\x02 \x01(\v22.envoy.extensions.filters.http.fault.v3.FaultAbortR\x05abort\x12)\n" +
	"\x10upstream_cluster\x18\x03 \x01(\tR\x0fupstreamCluster\x12>\n" +
	"\aheaders\x18\x04 \x03(\v2$.envoy.config.route.v3.HeaderMatcherR\aheaders\x12)\n" +
	"\x10downstream_nodes\x18\x05 \x03(\tR\x0fdownstreamNodes\x12H\n" +
	"\x11max_active_faults\x18\x06 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x0fmaxActiveFaults\x12h\n" +
	"\x13response_rate_limit\x18\a \x01(\v28.envoy.extensions.filters.common.fault.v3.FaultRateLimitR\x11responseRateLimit\x122\n" +
	"\x15delay_percent_runtime\x18\b \x01(\tR\x13delayPercentRuntime\x122\n" +
	"\x15abort_percent_runtime\x18\t \x01(\tR\x13abortPercentRuntime\x124\n" +
	"\x16delay_duration_runtime\x18\n" +
	" \x01(\tR\x14delayDurationRuntime\x129\n" +
	"\x19abort_http_status_runtime\x18\v \x01(\tR\x16abortHttpStatusRuntime\x129\n" +
	"\x19max_active_faults_runtime\x18\f \x01(\tR\x16maxActiveFaultsRuntime\x12L\n" +
	"#response_rate_limit_percent_runtime\x18\r \x01(\tR\x1fresponseRateLimitPercentRuntime\x129\n" +
	"\x19abort_grpc_status_runtime\x18\x0e \x01(\tR\x16abortGrpcStatusRuntime\x12G\n" +
	" disable_downstream_cluster_stats\x18\x0f \x01(\bR\x1ddisableDownstreamClusterStats\x12@\n" +
	"\x0ffilter_metadata\x18\x10 \x01(\v2\x17.google.protobuf.StructR\x0efilterMetadata:2\x9aň\x1e-\n" +
	"+envoy.config.filter.http.fault.v2.HTTPFaultB\xa3\x01\xba\x80\xc8\xd1\x06\x02\x10\x02\n" +
	"4io.envoyproxy.envoy.extensions.filters.http.fault.v3B\n" +
	"FaultProtoP\x01ZUgithub.com/envoyproxy/go-control-plane/envoy/extensions/filters/http/fault/v3;faultv3b\x06proto3"

var (
	file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescOnce sync.Once
	file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescData []byte
)

func file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescGZIP() []byte {
	file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescOnce.Do(func() {
		file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc), len(file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc)))
	})
	return file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDescData
}

var file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_envoy_extensions_filters_http_fault_v3_fault_proto_goTypes = []any{
	(*FaultAbort)(nil),             // 0: envoy.extensions.filters.http.fault.v3.FaultAbort
	(*HTTPFault)(nil),              // 1: envoy.extensions.filters.http.fault.v3.HTTPFault
	(*FaultAbort_HeaderAbort)(nil), // 2: envoy.extensions.filters.http.fault.v3.FaultAbort.HeaderAbort
	(*v3.FractionalPercent)(nil),   // 3: envoy.type.v3.FractionalPercent
	(*v31.FaultDelay)(nil),         // 4: envoy.extensions.filters.common.fault.v3.FaultDelay
	(*v32.HeaderMatcher)(nil),      // 5: envoy.config.route.v3.HeaderMatcher
	(*wrapperspb.UInt32Value)(nil), // 6: google.protobuf.UInt32Value
	(*v31.FaultRateLimit)(nil),     // 7: envoy.extensions.filters.common.fault.v3.FaultRateLimit
	(*structpb.Struct)(nil),        // 8: google.protobuf.Struct
}
var file_envoy_extensions_filters_http_fault_v3_fault_proto_depIdxs = []int32{
	2, // 0: envoy.extensions.filters.http.fault.v3.FaultAbort.header_abort:type_name -> envoy.extensions.filters.http.fault.v3.FaultAbort.HeaderAbort
	3, // 1: envoy.extensions.filters.http.fault.v3.FaultAbort.percentage:type_name -> envoy.type.v3.FractionalPercent
	4, // 2: envoy.extensions.filters.http.fault.v3.HTTPFault.delay:type_name -> envoy.extensions.filters.common.fault.v3.FaultDelay
	0, // 3: envoy.extensions.filters.http.fault.v3.HTTPFault.abort:type_name -> envoy.extensions.filters.http.fault.v3.FaultAbort
	5, // 4: envoy.extensions.filters.http.fault.v3.HTTPFault.headers:type_name -> envoy.config.route.v3.HeaderMatcher
	6, // 5: envoy.extensions.filters.http.fault.v3.HTTPFault.max_active_faults:type_name -> google.protobuf.UInt32Value
	7, // 6: envoy.extensions.filters.http.fault.v3.HTTPFault.response_rate_limit:type_name -> envoy.extensions.filters.common.fault.v3.FaultRateLimit
	8, // 7: envoy.extensions.filters.http.fault.v3.HTTPFault.filter_metadata:type_name -> google.protobuf.Struct
	8, // [8:8] is the sub-list for method output_type
	8, // [8:8] is the sub-list for method input_type
	8, // [8:8] is the sub-list for extension type_name
	8, // [8:8] is the sub-list for extension extendee
	0, // [0:8] is the sub-list for field type_name
}

func init() { file_envoy_extensions_filters_http_fault_v3_fault_proto_init() }
func file_envoy_extensions_filters_http_fault_v3_fault_proto_init() {
	if File_envoy_extensions_filters_http_fault_v3_fault_proto != nil {
		return
	}
	file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes[0].OneofWrappers = []any{
		(*FaultAbort_HttpStatus)(nil),
		(*FaultAbort_GrpcStatus)(nil),
		(*FaultAbort_HeaderAbort_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc), len(file_envoy_extensions_filters_http_fault_v3_fault_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   3,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_envoy_extensions_filters_http_fault_v3_fault_proto_goTypes,
		DependencyIndexes: file_envoy_extensions_filters_http_fault_v3_fault_proto_depIdxs,
		MessageInfos:      file_envoy_extensions_filters_http_fault_v3_fault_proto_msgTypes,
	}.Build()
	File_envoy_extensions_filters_http_fault_v3_fault_proto = out.File
	file_envoy_extensions_filters_http_fault_v3_fault_proto_goTypes = nil
	file_envoy_extensions_filters_http_fault_v3_fault_proto_depIdxs = nil
}
