Documentation
¶
Index ¶
- Constants
- Variables
- type FaultAbort
- func (x *FaultAbort) ClearErrorType()
- func (x *FaultAbort) ClearHeaderAbort()
- func (x *FaultAbort) ClearHttpStatus()
- func (x *FaultAbort) ClearPercentage()
- func (x *FaultAbort) GetErrorType() isFaultAbort_ErrorType
- func (x *FaultAbort) GetHeaderAbort() *FaultAbort_HeaderAbort
- func (x *FaultAbort) GetHttpStatus() uint32
- func (x *FaultAbort) GetPercentage() *_type.FractionalPercent
- func (x *FaultAbort) HasErrorType() bool
- func (x *FaultAbort) HasHeaderAbort() bool
- func (x *FaultAbort) HasHttpStatus() bool
- func (x *FaultAbort) HasPercentage() bool
- func (*FaultAbort) ProtoMessage()
- func (x *FaultAbort) ProtoReflect() protoreflect.Message
- func (x *FaultAbort) Reset()
- func (x *FaultAbort) SetHeaderAbort(v *FaultAbort_HeaderAbort)
- func (x *FaultAbort) SetHttpStatus(v uint32)
- func (x *FaultAbort) SetPercentage(v *_type.FractionalPercent)
- func (x *FaultAbort) String() string
- func (x *FaultAbort) WhichErrorType() case_FaultAbort_ErrorType
- type FaultAbort_HeaderAbort
- type FaultAbort_HeaderAbort_
- type FaultAbort_HeaderAbort_builder
- type FaultAbort_HttpStatus
- type FaultAbort_builder
- type HTTPFault
- func (x *HTTPFault) ClearAbort()
- func (x *HTTPFault) ClearDelay()
- func (x *HTTPFault) ClearMaxActiveFaults()
- func (x *HTTPFault) ClearResponseRateLimit()
- func (x *HTTPFault) GetAbort() *FaultAbort
- func (x *HTTPFault) GetAbortHttpStatusRuntime() string
- func (x *HTTPFault) GetAbortPercentRuntime() string
- func (x *HTTPFault) GetDelay() *v2.FaultDelay
- func (x *HTTPFault) GetDelayDurationRuntime() string
- func (x *HTTPFault) GetDelayPercentRuntime() string
- func (x *HTTPFault) GetDownstreamNodes() []string
- func (x *HTTPFault) GetHeaders() []*route.HeaderMatcher
- func (x *HTTPFault) GetMaxActiveFaults() *wrapperspb.UInt32Value
- func (x *HTTPFault) GetMaxActiveFaultsRuntime() string
- func (x *HTTPFault) GetResponseRateLimit() *v2.FaultRateLimit
- func (x *HTTPFault) GetResponseRateLimitPercentRuntime() string
- func (x *HTTPFault) GetUpstreamCluster() string
- func (x *HTTPFault) HasAbort() bool
- func (x *HTTPFault) HasDelay() bool
- func (x *HTTPFault) HasMaxActiveFaults() bool
- func (x *HTTPFault) HasResponseRateLimit() bool
- func (*HTTPFault) ProtoMessage()
- func (x *HTTPFault) ProtoReflect() protoreflect.Message
- func (x *HTTPFault) Reset()
- func (x *HTTPFault) SetAbort(v *FaultAbort)
- func (x *HTTPFault) SetAbortHttpStatusRuntime(v string)
- func (x *HTTPFault) SetAbortPercentRuntime(v string)
- func (x *HTTPFault) SetDelay(v *v2.FaultDelay)
- func (x *HTTPFault) SetDelayDurationRuntime(v string)
- func (x *HTTPFault) SetDelayPercentRuntime(v string)
- func (x *HTTPFault) SetDownstreamNodes(v []string)
- func (x *HTTPFault) SetHeaders(v []*route.HeaderMatcher)
- func (x *HTTPFault) SetMaxActiveFaults(v *wrapperspb.UInt32Value)
- func (x *HTTPFault) SetMaxActiveFaultsRuntime(v string)
- func (x *HTTPFault) SetResponseRateLimit(v *v2.FaultRateLimit)
- func (x *HTTPFault) SetResponseRateLimitPercentRuntime(v string)
- func (x *HTTPFault) SetUpstreamCluster(v string)
- func (x *HTTPFault) String() string
- type HTTPFault_builder
Constants ¶
View Source
const FaultAbort_ErrorType_not_set_case case_FaultAbort_ErrorType = 0
View Source
const FaultAbort_HeaderAbort_case case_FaultAbort_ErrorType = 4
View Source
const FaultAbort_HttpStatus_case case_FaultAbort_ErrorType = 2
Variables ¶
View Source
var File_envoy_config_filter_http_fault_v2_fault_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type FaultAbort ¶
type FaultAbort struct {
// Types that are valid to be assigned to ErrorType:
//
// *FaultAbort_HttpStatus
// *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 *_type.FractionalPercent `protobuf:"bytes,3,opt,name=percentage,proto3" json:"percentage,omitempty"`
// contains filtered or unexported fields
}
func (*FaultAbort) ClearErrorType ¶
func (x *FaultAbort) ClearErrorType()
func (*FaultAbort) ClearHeaderAbort ¶
func (x *FaultAbort) ClearHeaderAbort()
func (*FaultAbort) ClearHttpStatus ¶
func (x *FaultAbort) ClearHttpStatus()
func (*FaultAbort) ClearPercentage ¶
func (x *FaultAbort) ClearPercentage()
func (*FaultAbort) GetErrorType ¶
func (x *FaultAbort) GetErrorType() isFaultAbort_ErrorType
func (*FaultAbort) GetHeaderAbort ¶
func (x *FaultAbort) GetHeaderAbort() *FaultAbort_HeaderAbort
func (*FaultAbort) GetHttpStatus ¶
func (x *FaultAbort) GetHttpStatus() uint32
func (*FaultAbort) GetPercentage ¶
func (x *FaultAbort) GetPercentage() *_type.FractionalPercent
func (*FaultAbort) HasErrorType ¶
func (x *FaultAbort) HasErrorType() bool
func (*FaultAbort) HasHeaderAbort ¶
func (x *FaultAbort) HasHeaderAbort() bool
func (*FaultAbort) HasHttpStatus ¶
func (x *FaultAbort) HasHttpStatus() bool
func (*FaultAbort) HasPercentage ¶
func (x *FaultAbort) HasPercentage() bool
func (*FaultAbort) ProtoMessage ¶
func (*FaultAbort) ProtoMessage()
func (*FaultAbort) ProtoReflect ¶
func (x *FaultAbort) ProtoReflect() protoreflect.Message
func (*FaultAbort) Reset ¶
func (x *FaultAbort) Reset()
func (*FaultAbort) SetHeaderAbort ¶
func (x *FaultAbort) SetHeaderAbort(v *FaultAbort_HeaderAbort)
func (*FaultAbort) SetHttpStatus ¶
func (x *FaultAbort) SetHttpStatus(v uint32)
func (*FaultAbort) SetPercentage ¶
func (x *FaultAbort) SetPercentage(v *_type.FractionalPercent)
func (*FaultAbort) String ¶
func (x *FaultAbort) String() string
func (*FaultAbort) WhichErrorType ¶
func (x *FaultAbort) WhichErrorType() case_FaultAbort_ErrorType
type FaultAbort_HeaderAbort ¶
type FaultAbort_HeaderAbort struct {
// contains filtered or unexported fields
}
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.
func (*FaultAbort_HeaderAbort) ProtoMessage ¶
func (*FaultAbort_HeaderAbort) ProtoMessage()
func (*FaultAbort_HeaderAbort) ProtoReflect ¶
func (x *FaultAbort_HeaderAbort) ProtoReflect() protoreflect.Message
func (*FaultAbort_HeaderAbort) Reset ¶
func (x *FaultAbort_HeaderAbort) Reset()
func (*FaultAbort_HeaderAbort) String ¶
func (x *FaultAbort_HeaderAbort) String() string
type FaultAbort_HeaderAbort_ ¶
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"`
}
type FaultAbort_HeaderAbort_builder ¶
type FaultAbort_HeaderAbort_builder struct {
// contains filtered or unexported fields
}
func (FaultAbort_HeaderAbort_builder) Build ¶
func (b0 FaultAbort_HeaderAbort_builder) Build() *FaultAbort_HeaderAbort
type FaultAbort_HttpStatus ¶
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_builder ¶
type FaultAbort_builder struct {
// Fields of oneof ErrorType:
// HTTP status code to use to abort the HTTP request.
HttpStatus *uint32
// Fault aborts are controlled via an HTTP header (if applicable).
HeaderAbort *FaultAbort_HeaderAbort
// -- end of ErrorType
// The percentage of requests/operations/connections that will be aborted with the error code
// provided.
Percentage *_type.FractionalPercent
// contains filtered or unexported fields
}
func (FaultAbort_builder) Build ¶
func (b0 FaultAbort_builder) Build() *FaultAbort
type HTTPFault ¶
type HTTPFault struct {
// If specified, the filter will inject delays based on the values in the
// object.
Delay *v2.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_api_field_config.filter.http.fault.v2.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 []*route.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 *v2.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 `` /* 132-byte string literal not displayed */
// 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 `` /* 132-byte string literal not displayed */
// 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 `` /* 161-byte string literal not displayed */
// contains filtered or unexported fields
}
[#next-free-field: 14]
func (*HTTPFault) GetAbort ¶
func (x *HTTPFault) GetAbort() *FaultAbort
func (*HTTPFault) GetAbortHttpStatusRuntime ¶
func (*HTTPFault) GetDelay ¶
func (x *HTTPFault) GetDelay() *v2.FaultDelay
func (*HTTPFault) GetHeaders ¶
func (x *HTTPFault) GetHeaders() []*route.HeaderMatcher
func (*HTTPFault) GetMaxActiveFaults ¶
func (x *HTTPFault) GetMaxActiveFaults() *wrapperspb.UInt32Value
func (*HTTPFault) GetMaxActiveFaultsRuntime ¶
func (*HTTPFault) GetResponseRateLimit ¶
func (x *HTTPFault) GetResponseRateLimit() *v2.FaultRateLimit
func (*HTTPFault) GetResponseRateLimitPercentRuntime ¶
func (*HTTPFault) ProtoReflect ¶
func (x *HTTPFault) ProtoReflect() protoreflect.Message
func (*HTTPFault) SetAbort ¶
func (x *HTTPFault) SetAbort(v *FaultAbort)
func (*HTTPFault) SetAbortHttpStatusRuntime ¶
func (*HTTPFault) SetDelay ¶
func (x *HTTPFault) SetDelay(v *v2.FaultDelay)
func (*HTTPFault) SetHeaders ¶
func (x *HTTPFault) SetHeaders(v []*route.HeaderMatcher)
func (*HTTPFault) SetMaxActiveFaults ¶
func (x *HTTPFault) SetMaxActiveFaults(v *wrapperspb.UInt32Value)
func (*HTTPFault) SetMaxActiveFaultsRuntime ¶
func (*HTTPFault) SetResponseRateLimit ¶
func (x *HTTPFault) SetResponseRateLimit(v *v2.FaultRateLimit)
func (*HTTPFault) SetResponseRateLimitPercentRuntime ¶
type HTTPFault_builder ¶
type HTTPFault_builder struct {
// If specified, the filter will inject delays based on the values in the
// object.
Delay *v2.FaultDelay
// If specified, the filter will abort requests based on the values in
// the object. At least *abort* or *delay* must be specified.
Abort *FaultAbort
// 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
// 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_api_field_config.filter.http.fault.v2.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 []*route.HeaderMatcher
// 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
// 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
// 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 *v2.FaultRateLimit
// 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
// 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
// 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
// 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
// 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
// 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
// contains filtered or unexported fields
}
func (HTTPFault_builder) Build ¶
func (b0 HTTPFault_builder) Build() *HTTPFault
Source Files
¶
- fault.pb.go
Click to show internal directories.
Click to hide internal directories.