Documentation
¶
Index ¶
- Constants
- Variables
- type ProtocolType
- type Route
- func (x *Route) ClearMatch()
- func (x *Route) ClearRoute()
- func (x *Route) GetMatch() *RouteMatch
- func (x *Route) GetRoute() *RouteAction
- func (x *Route) HasMatch() bool
- func (x *Route) HasRoute() bool
- func (*Route) ProtoMessage()
- func (x *Route) ProtoReflect() protoreflect.Message
- func (x *Route) Reset()
- func (x *Route) SetMatch(v *RouteMatch)
- func (x *Route) SetRoute(v *RouteAction)
- func (x *Route) String() string
- type RouteAction
- func (x *RouteAction) ClearCluster()
- func (x *RouteAction) ClearClusterHeader()
- func (x *RouteAction) ClearClusterSpecifier()
- func (x *RouteAction) ClearMetadataMatch()
- func (x *RouteAction) ClearWeightedClusters()
- func (x *RouteAction) GetCluster() string
- func (x *RouteAction) GetClusterHeader() string
- func (x *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier
- func (x *RouteAction) GetMetadataMatch() *core.Metadata
- func (x *RouteAction) GetRateLimits() []*route.RateLimit
- func (x *RouteAction) GetStripServiceName() bool
- func (x *RouteAction) GetWeightedClusters() *WeightedCluster
- func (x *RouteAction) HasCluster() bool
- func (x *RouteAction) HasClusterHeader() bool
- func (x *RouteAction) HasClusterSpecifier() bool
- func (x *RouteAction) HasMetadataMatch() bool
- func (x *RouteAction) HasWeightedClusters() bool
- func (*RouteAction) ProtoMessage()
- func (x *RouteAction) ProtoReflect() protoreflect.Message
- func (x *RouteAction) Reset()
- func (x *RouteAction) SetCluster(v string)
- func (x *RouteAction) SetClusterHeader(v string)
- func (x *RouteAction) SetMetadataMatch(v *core.Metadata)
- func (x *RouteAction) SetRateLimits(v []*route.RateLimit)
- func (x *RouteAction) SetStripServiceName(v bool)
- func (x *RouteAction) SetWeightedClusters(v *WeightedCluster)
- func (x *RouteAction) String() string
- func (x *RouteAction) WhichClusterSpecifier() case_RouteAction_ClusterSpecifier
- type RouteAction_Cluster
- type RouteAction_ClusterHeader
- type RouteAction_WeightedClusters
- type RouteAction_builder
- type RouteConfiguration
- func (x *RouteConfiguration) GetName() string
- func (x *RouteConfiguration) GetRoutes() []*Route
- func (*RouteConfiguration) ProtoMessage()
- func (x *RouteConfiguration) ProtoReflect() protoreflect.Message
- func (x *RouteConfiguration) Reset()
- func (x *RouteConfiguration) SetName(v string)
- func (x *RouteConfiguration) SetRoutes(v []*Route)
- func (x *RouteConfiguration) String() string
- type RouteConfiguration_builder
- type RouteMatch
- func (x *RouteMatch) ClearMatchSpecifier()
- func (x *RouteMatch) ClearMethodName()
- func (x *RouteMatch) ClearServiceName()
- func (x *RouteMatch) GetHeaders() []*route.HeaderMatcher
- func (x *RouteMatch) GetInvert() bool
- func (x *RouteMatch) GetMatchSpecifier() isRouteMatch_MatchSpecifier
- func (x *RouteMatch) GetMethodName() string
- func (x *RouteMatch) GetServiceName() string
- func (x *RouteMatch) HasMatchSpecifier() bool
- func (x *RouteMatch) HasMethodName() bool
- func (x *RouteMatch) HasServiceName() bool
- func (*RouteMatch) ProtoMessage()
- func (x *RouteMatch) ProtoReflect() protoreflect.Message
- func (x *RouteMatch) Reset()
- func (x *RouteMatch) SetHeaders(v []*route.HeaderMatcher)
- func (x *RouteMatch) SetInvert(v bool)
- func (x *RouteMatch) SetMethodName(v string)
- func (x *RouteMatch) SetServiceName(v string)
- func (x *RouteMatch) String() string
- func (x *RouteMatch) WhichMatchSpecifier() case_RouteMatch_MatchSpecifier
- type RouteMatch_MethodName
- type RouteMatch_ServiceName
- type RouteMatch_builder
- type Route_builder
- type ThriftFilter
- func (x *ThriftFilter) ClearConfig()deprecated
- func (x *ThriftFilter) ClearConfigType()
- func (x *ThriftFilter) ClearTypedConfig()
- func (x *ThriftFilter) GetConfig() *structpb.Structdeprecated
- func (x *ThriftFilter) GetConfigType() isThriftFilter_ConfigType
- func (x *ThriftFilter) GetName() string
- func (x *ThriftFilter) GetTypedConfig() *anypb.Any
- func (x *ThriftFilter) HasConfig() booldeprecated
- func (x *ThriftFilter) HasConfigType() bool
- func (x *ThriftFilter) HasTypedConfig() bool
- func (*ThriftFilter) ProtoMessage()
- func (x *ThriftFilter) ProtoReflect() protoreflect.Message
- func (x *ThriftFilter) Reset()
- func (x *ThriftFilter) SetConfig(v *structpb.Struct)deprecated
- func (x *ThriftFilter) SetName(v string)
- func (x *ThriftFilter) SetTypedConfig(v *anypb.Any)
- func (x *ThriftFilter) String() string
- func (x *ThriftFilter) WhichConfigType() case_ThriftFilter_ConfigType
- type ThriftFilter_Config
- type ThriftFilter_TypedConfig
- type ThriftFilter_builder
- type ThriftProtocolOptions
- func (x *ThriftProtocolOptions) GetProtocol() ProtocolType
- func (x *ThriftProtocolOptions) GetTransport() TransportType
- func (*ThriftProtocolOptions) ProtoMessage()
- func (x *ThriftProtocolOptions) ProtoReflect() protoreflect.Message
- func (x *ThriftProtocolOptions) Reset()
- func (x *ThriftProtocolOptions) SetProtocol(v ProtocolType)
- func (x *ThriftProtocolOptions) SetTransport(v TransportType)
- func (x *ThriftProtocolOptions) String() string
- type ThriftProtocolOptions_builder
- type ThriftProxy
- func (x *ThriftProxy) ClearRouteConfig()
- func (x *ThriftProxy) GetProtocol() ProtocolType
- func (x *ThriftProxy) GetRouteConfig() *RouteConfiguration
- func (x *ThriftProxy) GetStatPrefix() string
- func (x *ThriftProxy) GetThriftFilters() []*ThriftFilter
- func (x *ThriftProxy) GetTransport() TransportType
- func (x *ThriftProxy) HasRouteConfig() bool
- func (*ThriftProxy) ProtoMessage()
- func (x *ThriftProxy) ProtoReflect() protoreflect.Message
- func (x *ThriftProxy) Reset()
- func (x *ThriftProxy) SetProtocol(v ProtocolType)
- func (x *ThriftProxy) SetRouteConfig(v *RouteConfiguration)
- func (x *ThriftProxy) SetStatPrefix(v string)
- func (x *ThriftProxy) SetThriftFilters(v []*ThriftFilter)
- func (x *ThriftProxy) SetTransport(v TransportType)
- func (x *ThriftProxy) String() string
- type ThriftProxy_builder
- type TransportType
- type WeightedCluster
- func (x *WeightedCluster) GetClusters() []*WeightedCluster_ClusterWeight
- func (*WeightedCluster) ProtoMessage()
- func (x *WeightedCluster) ProtoReflect() protoreflect.Message
- func (x *WeightedCluster) Reset()
- func (x *WeightedCluster) SetClusters(v []*WeightedCluster_ClusterWeight)
- func (x *WeightedCluster) String() string
- type WeightedCluster_ClusterWeight
- func (x *WeightedCluster_ClusterWeight) ClearMetadataMatch()
- func (x *WeightedCluster_ClusterWeight) ClearWeight()
- func (x *WeightedCluster_ClusterWeight) GetMetadataMatch() *core.Metadata
- func (x *WeightedCluster_ClusterWeight) GetName() string
- func (x *WeightedCluster_ClusterWeight) GetWeight() *wrapperspb.UInt32Value
- func (x *WeightedCluster_ClusterWeight) HasMetadataMatch() bool
- func (x *WeightedCluster_ClusterWeight) HasWeight() bool
- func (*WeightedCluster_ClusterWeight) ProtoMessage()
- func (x *WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message
- func (x *WeightedCluster_ClusterWeight) Reset()
- func (x *WeightedCluster_ClusterWeight) SetMetadataMatch(v *core.Metadata)
- func (x *WeightedCluster_ClusterWeight) SetName(v string)
- func (x *WeightedCluster_ClusterWeight) SetWeight(v *wrapperspb.UInt32Value)
- func (x *WeightedCluster_ClusterWeight) String() string
- type WeightedCluster_ClusterWeight_builder
- type WeightedCluster_builder
Constants ¶
const RouteAction_ClusterHeader_case case_RouteAction_ClusterSpecifier = 6
const RouteAction_ClusterSpecifier_not_set_case case_RouteAction_ClusterSpecifier = 0
const RouteAction_Cluster_case case_RouteAction_ClusterSpecifier = 1
const RouteAction_WeightedClusters_case case_RouteAction_ClusterSpecifier = 2
const RouteMatch_MatchSpecifier_not_set_case case_RouteMatch_MatchSpecifier = 0
const RouteMatch_MethodName_case case_RouteMatch_MatchSpecifier = 1
const RouteMatch_ServiceName_case case_RouteMatch_MatchSpecifier = 2
const ThriftFilter_ConfigType_not_set_case case_ThriftFilter_ConfigType = 0
const ThriftFilter_Config_case case_ThriftFilter_ConfigType = 2
const ThriftFilter_TypedConfig_case case_ThriftFilter_ConfigType = 3
Variables ¶
var ( TransportType_name = map[int32]string{ 0: "AUTO_TRANSPORT", 1: "FRAMED", 2: "UNFRAMED", 3: "HEADER", } TransportType_value = map[string]int32{ "AUTO_TRANSPORT": 0, "FRAMED": 1, "UNFRAMED": 2, "HEADER": 3, } )
Enum value maps for TransportType.
var ( ProtocolType_name = map[int32]string{ 0: "AUTO_PROTOCOL", 1: "BINARY", 2: "LAX_BINARY", 3: "COMPACT", 4: "TWITTER", } ProtocolType_value = map[string]int32{ "AUTO_PROTOCOL": 0, "BINARY": 1, "LAX_BINARY": 2, "COMPACT": 3, "TWITTER": 4, } )
Enum value maps for ProtocolType.
var File_envoy_config_filter_network_thrift_proxy_v2alpha1_route_proto protoreflect.FileDescriptor
var File_envoy_config_filter_network_thrift_proxy_v2alpha1_thrift_proxy_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type ProtocolType ¶
type ProtocolType int32
Thrift Protocol types supported by Envoy.
const ( // For downstream connections, the Thrift proxy will attempt to determine which protocol to use. // Note that the older, non-strict (or lax) binary protocol is not included in automatic protocol // detection. For upstream connections, the Thrift proxy will use the same protocol as the // downstream connection. ProtocolType_AUTO_PROTOCOL ProtocolType = 0 // The Thrift proxy will use the Thrift binary protocol. ProtocolType_BINARY ProtocolType = 1 // The Thrift proxy will use Thrift non-strict binary protocol. ProtocolType_LAX_BINARY ProtocolType = 2 // The Thrift proxy will use the Thrift compact protocol. ProtocolType_COMPACT ProtocolType = 3 // The Thrift proxy will use the Thrift "Twitter" protocol implemented by the finagle library. ProtocolType_TWITTER ProtocolType = 4 )
func (ProtocolType) Descriptor ¶
func (ProtocolType) Descriptor() protoreflect.EnumDescriptor
func (ProtocolType) Enum ¶
func (x ProtocolType) Enum() *ProtocolType
func (ProtocolType) Number ¶
func (x ProtocolType) Number() protoreflect.EnumNumber
func (ProtocolType) String ¶
func (x ProtocolType) String() string
func (ProtocolType) Type ¶
func (ProtocolType) Type() protoreflect.EnumType
type Route ¶
type Route struct {
// Route matching parameters.
Match *RouteMatch `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
// Route request to some upstream cluster.
Route *RouteAction `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
// contains filtered or unexported fields
}
func (*Route) GetMatch ¶
func (x *Route) GetMatch() *RouteMatch
func (*Route) GetRoute ¶
func (x *Route) GetRoute() *RouteAction
func (*Route) ProtoReflect ¶
func (x *Route) ProtoReflect() protoreflect.Message
func (*Route) SetMatch ¶
func (x *Route) SetMatch(v *RouteMatch)
func (*Route) SetRoute ¶
func (x *Route) SetRoute(v *RouteAction)
type RouteAction ¶
type RouteAction struct {
// Types that are valid to be assigned to ClusterSpecifier:
//
// *RouteAction_Cluster
// *RouteAction_WeightedClusters
// *RouteAction_ClusterHeader
ClusterSpecifier isRouteAction_ClusterSpecifier `protobuf_oneof:"cluster_specifier"`
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in
// the upstream cluster with metadata matching what is set in this field will be considered.
// Note that this will be merged with what's provided in :ref:`WeightedCluster.metadata_match
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight.metadata_match>`,
// with values there taking precedence. Keys and values should be provided under the "envoy.lb"
// metadata key.
MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"`
// Specifies a set of rate limit configurations that could be applied to the route.
// N.B. Thrift service or method name matching can be achieved by specifying a RequestHeaders
// action with the header name ":method-name".
RateLimits []*route.RateLimit `protobuf:"bytes,4,rep,name=rate_limits,json=rateLimits,proto3" json:"rate_limits,omitempty"`
// Strip the service prefix from the method name, if there's a prefix. For
// example, the method call Service:method would end up being just method.
StripServiceName bool `protobuf:"varint,5,opt,name=strip_service_name,json=stripServiceName,proto3" json:"strip_service_name,omitempty"`
// contains filtered or unexported fields
}
[#next-free-field: 7]
func (*RouteAction) ClearCluster ¶
func (x *RouteAction) ClearCluster()
func (*RouteAction) ClearClusterHeader ¶
func (x *RouteAction) ClearClusterHeader()
func (*RouteAction) ClearClusterSpecifier ¶
func (x *RouteAction) ClearClusterSpecifier()
func (*RouteAction) ClearMetadataMatch ¶
func (x *RouteAction) ClearMetadataMatch()
func (*RouteAction) ClearWeightedClusters ¶
func (x *RouteAction) ClearWeightedClusters()
func (*RouteAction) GetCluster ¶
func (x *RouteAction) GetCluster() string
func (*RouteAction) GetClusterHeader ¶
func (x *RouteAction) GetClusterHeader() string
func (*RouteAction) GetClusterSpecifier ¶
func (x *RouteAction) GetClusterSpecifier() isRouteAction_ClusterSpecifier
func (*RouteAction) GetMetadataMatch ¶
func (x *RouteAction) GetMetadataMatch() *core.Metadata
func (*RouteAction) GetRateLimits ¶
func (x *RouteAction) GetRateLimits() []*route.RateLimit
func (*RouteAction) GetStripServiceName ¶
func (x *RouteAction) GetStripServiceName() bool
func (*RouteAction) GetWeightedClusters ¶
func (x *RouteAction) GetWeightedClusters() *WeightedCluster
func (*RouteAction) HasCluster ¶
func (x *RouteAction) HasCluster() bool
func (*RouteAction) HasClusterHeader ¶
func (x *RouteAction) HasClusterHeader() bool
func (*RouteAction) HasClusterSpecifier ¶
func (x *RouteAction) HasClusterSpecifier() bool
func (*RouteAction) HasMetadataMatch ¶
func (x *RouteAction) HasMetadataMatch() bool
func (*RouteAction) HasWeightedClusters ¶
func (x *RouteAction) HasWeightedClusters() bool
func (*RouteAction) ProtoMessage ¶
func (*RouteAction) ProtoMessage()
func (*RouteAction) ProtoReflect ¶
func (x *RouteAction) ProtoReflect() protoreflect.Message
func (*RouteAction) Reset ¶
func (x *RouteAction) Reset()
func (*RouteAction) SetCluster ¶
func (x *RouteAction) SetCluster(v string)
func (*RouteAction) SetClusterHeader ¶
func (x *RouteAction) SetClusterHeader(v string)
func (*RouteAction) SetMetadataMatch ¶
func (x *RouteAction) SetMetadataMatch(v *core.Metadata)
func (*RouteAction) SetRateLimits ¶
func (x *RouteAction) SetRateLimits(v []*route.RateLimit)
func (*RouteAction) SetStripServiceName ¶
func (x *RouteAction) SetStripServiceName(v bool)
func (*RouteAction) SetWeightedClusters ¶
func (x *RouteAction) SetWeightedClusters(v *WeightedCluster)
func (*RouteAction) String ¶
func (x *RouteAction) String() string
func (*RouteAction) WhichClusterSpecifier ¶
func (x *RouteAction) WhichClusterSpecifier() case_RouteAction_ClusterSpecifier
type RouteAction_Cluster ¶
type RouteAction_Cluster struct {
// Indicates a single upstream cluster to which the request should be routed
// to.
Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3,oneof"`
}
type RouteAction_ClusterHeader ¶
type RouteAction_ClusterHeader struct {
// Envoy will determine the cluster to route to by reading the value of the
// Thrift header named by cluster_header from the request headers. If the
// header is not found or the referenced cluster does not exist Envoy will
// respond with an unknown method exception or an internal error exception,
// respectively.
ClusterHeader string `protobuf:"bytes,6,opt,name=cluster_header,json=clusterHeader,proto3,oneof"`
}
type RouteAction_WeightedClusters ¶
type RouteAction_WeightedClusters struct {
// Multiple upstream clusters can be specified for a given route. The
// request is routed to one of the upstream clusters based on weights
// assigned to each cluster.
WeightedClusters *WeightedCluster `protobuf:"bytes,2,opt,name=weighted_clusters,json=weightedClusters,proto3,oneof"`
}
type RouteAction_builder ¶
type RouteAction_builder struct {
// Fields of oneof ClusterSpecifier:
// Indicates a single upstream cluster to which the request should be routed
// to.
Cluster *string
// Multiple upstream clusters can be specified for a given route. The
// request is routed to one of the upstream clusters based on weights
// assigned to each cluster.
WeightedClusters *WeightedCluster
// Envoy will determine the cluster to route to by reading the value of the
// Thrift header named by cluster_header from the request headers. If the
// header is not found or the referenced cluster does not exist Envoy will
// respond with an unknown method exception or an internal error exception,
// respectively.
ClusterHeader *string
// -- end of ClusterSpecifier
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in
// the upstream cluster with metadata matching what is set in this field will be considered.
// Note that this will be merged with what's provided in :ref:`WeightedCluster.metadata_match
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.WeightedCluster.ClusterWeight.metadata_match>`,
// with values there taking precedence. Keys and values should be provided under the "envoy.lb"
// metadata key.
MetadataMatch *core.Metadata
// Specifies a set of rate limit configurations that could be applied to the route.
// N.B. Thrift service or method name matching can be achieved by specifying a RequestHeaders
// action with the header name ":method-name".
RateLimits []*route.RateLimit
// Strip the service prefix from the method name, if there's a prefix. For
// example, the method call Service:method would end up being just method.
StripServiceName bool
// contains filtered or unexported fields
}
func (RouteAction_builder) Build ¶
func (b0 RouteAction_builder) Build() *RouteAction
type RouteConfiguration ¶
type RouteConfiguration struct {
// The name of the route configuration. Reserved for future use in asynchronous route discovery.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The list of routes that will be matched, in order, against incoming requests. The first route
// that matches will be used.
Routes []*Route `protobuf:"bytes,2,rep,name=routes,proto3" json:"routes,omitempty"`
// contains filtered or unexported fields
}
func (*RouteConfiguration) GetName ¶
func (x *RouteConfiguration) GetName() string
func (*RouteConfiguration) GetRoutes ¶
func (x *RouteConfiguration) GetRoutes() []*Route
func (*RouteConfiguration) ProtoMessage ¶
func (*RouteConfiguration) ProtoMessage()
func (*RouteConfiguration) ProtoReflect ¶
func (x *RouteConfiguration) ProtoReflect() protoreflect.Message
func (*RouteConfiguration) Reset ¶
func (x *RouteConfiguration) Reset()
func (*RouteConfiguration) SetName ¶
func (x *RouteConfiguration) SetName(v string)
func (*RouteConfiguration) SetRoutes ¶
func (x *RouteConfiguration) SetRoutes(v []*Route)
func (*RouteConfiguration) String ¶
func (x *RouteConfiguration) String() string
type RouteConfiguration_builder ¶
type RouteConfiguration_builder struct {
// The name of the route configuration. Reserved for future use in asynchronous route discovery.
Name string
// The list of routes that will be matched, in order, against incoming requests. The first route
// that matches will be used.
Routes []*Route
// contains filtered or unexported fields
}
func (RouteConfiguration_builder) Build ¶
func (b0 RouteConfiguration_builder) Build() *RouteConfiguration
type RouteMatch ¶
type RouteMatch struct {
// Types that are valid to be assigned to MatchSpecifier:
//
// *RouteMatch_MethodName
// *RouteMatch_ServiceName
MatchSpecifier isRouteMatch_MatchSpecifier `protobuf_oneof:"match_specifier"`
// Inverts whatever matching is done in the :ref:`method_name
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.method_name>` or
// :ref:`service_name
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.service_name>` fields.
// Cannot be combined with wildcard matching as that would result in routes never being matched.
//
// .. note::
//
// This does not invert matching done as part of the :ref:`headers field
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.headers>` field. To
// invert header matching, see :ref:`invert_match
// <envoy_api_field_route.HeaderMatcher.invert_match>`.
Invert bool `protobuf:"varint,3,opt,name=invert,proto3" json:"invert,omitempty"`
// Specifies a set of headers that the route should match on. The router will check the request’s
// headers against all the specified headers in the route config. A match will happen if all the
// headers in the route are present in the request with the same values (or based on presence if
// the value field is not in the config). Note that this only applies for Thrift transports and/or
// protocols that support headers.
Headers []*route.HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"`
// contains filtered or unexported fields
}
func (*RouteMatch) ClearMatchSpecifier ¶
func (x *RouteMatch) ClearMatchSpecifier()
func (*RouteMatch) ClearMethodName ¶
func (x *RouteMatch) ClearMethodName()
func (*RouteMatch) ClearServiceName ¶
func (x *RouteMatch) ClearServiceName()
func (*RouteMatch) GetHeaders ¶
func (x *RouteMatch) GetHeaders() []*route.HeaderMatcher
func (*RouteMatch) GetInvert ¶
func (x *RouteMatch) GetInvert() bool
func (*RouteMatch) GetMatchSpecifier ¶
func (x *RouteMatch) GetMatchSpecifier() isRouteMatch_MatchSpecifier
func (*RouteMatch) GetMethodName ¶
func (x *RouteMatch) GetMethodName() string
func (*RouteMatch) GetServiceName ¶
func (x *RouteMatch) GetServiceName() string
func (*RouteMatch) HasMatchSpecifier ¶
func (x *RouteMatch) HasMatchSpecifier() bool
func (*RouteMatch) HasMethodName ¶
func (x *RouteMatch) HasMethodName() bool
func (*RouteMatch) HasServiceName ¶
func (x *RouteMatch) HasServiceName() bool
func (*RouteMatch) ProtoMessage ¶
func (*RouteMatch) ProtoMessage()
func (*RouteMatch) ProtoReflect ¶
func (x *RouteMatch) ProtoReflect() protoreflect.Message
func (*RouteMatch) Reset ¶
func (x *RouteMatch) Reset()
func (*RouteMatch) SetHeaders ¶
func (x *RouteMatch) SetHeaders(v []*route.HeaderMatcher)
func (*RouteMatch) SetInvert ¶
func (x *RouteMatch) SetInvert(v bool)
func (*RouteMatch) SetMethodName ¶
func (x *RouteMatch) SetMethodName(v string)
func (*RouteMatch) SetServiceName ¶
func (x *RouteMatch) SetServiceName(v string)
func (*RouteMatch) String ¶
func (x *RouteMatch) String() string
func (*RouteMatch) WhichMatchSpecifier ¶
func (x *RouteMatch) WhichMatchSpecifier() case_RouteMatch_MatchSpecifier
type RouteMatch_MethodName ¶
type RouteMatch_MethodName struct {
// If specified, the route must exactly match the request method name. As a special case, an
// empty string matches any request method name.
MethodName string `protobuf:"bytes,1,opt,name=method_name,json=methodName,proto3,oneof"`
}
type RouteMatch_ServiceName ¶
type RouteMatch_ServiceName struct {
// If specified, the route must have the service name as the request method name prefix. As a
// special case, an empty string matches any service name. Only relevant when service
// multiplexing.
ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3,oneof"`
}
type RouteMatch_builder ¶
type RouteMatch_builder struct {
// Fields of oneof MatchSpecifier:
// If specified, the route must exactly match the request method name. As a special case, an
// empty string matches any request method name.
MethodName *string
// If specified, the route must have the service name as the request method name prefix. As a
// special case, an empty string matches any service name. Only relevant when service
// multiplexing.
ServiceName *string
// -- end of MatchSpecifier
// Inverts whatever matching is done in the :ref:`method_name
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.method_name>` or
// :ref:`service_name
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.service_name>` fields.
// Cannot be combined with wildcard matching as that would result in routes never being matched.
//
// .. note::
//
// This does not invert matching done as part of the :ref:`headers field
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteMatch.headers>` field. To
// invert header matching, see :ref:`invert_match
// <envoy_api_field_route.HeaderMatcher.invert_match>`.
Invert bool
// Specifies a set of headers that the route should match on. The router will check the request’s
// headers against all the specified headers in the route config. A match will happen if all the
// headers in the route are present in the request with the same values (or based on presence if
// the value field is not in the config). Note that this only applies for Thrift transports and/or
// protocols that support headers.
Headers []*route.HeaderMatcher
// contains filtered or unexported fields
}
func (RouteMatch_builder) Build ¶
func (b0 RouteMatch_builder) Build() *RouteMatch
type Route_builder ¶
type Route_builder struct {
// Route matching parameters.
Match *RouteMatch
// Route request to some upstream cluster.
Route *RouteAction
// contains filtered or unexported fields
}
func (Route_builder) Build ¶
func (b0 Route_builder) Build() *Route
type ThriftFilter ¶
type ThriftFilter struct {
// The name of the filter to instantiate. The name must match a supported
// filter. The built-in filters are:
//
// [#comment:TODO(zuercher): Auto generate the following list]
// * :ref:`envoy.filters.thrift.router <config_thrift_filters_router>`
// * :ref:`envoy.filters.thrift.rate_limit <config_thrift_filters_rate_limit>`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// Filter specific configuration which depends on the filter being instantiated. See the supported
// filters for further documentation.
//
// Types that are valid to be assigned to ConfigType:
//
// *ThriftFilter_Config
// *ThriftFilter_TypedConfig
ConfigType isThriftFilter_ConfigType `protobuf_oneof:"config_type"`
// contains filtered or unexported fields
}
ThriftFilter configures a Thrift filter.
func (*ThriftFilter) ClearConfig
deprecated
func (x *ThriftFilter) ClearConfig()
Deprecated: Marked as deprecated in envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto.
func (*ThriftFilter) ClearConfigType ¶
func (x *ThriftFilter) ClearConfigType()
func (*ThriftFilter) ClearTypedConfig ¶
func (x *ThriftFilter) ClearTypedConfig()
func (*ThriftFilter) GetConfig
deprecated
func (x *ThriftFilter) GetConfig() *structpb.Struct
Deprecated: Marked as deprecated in envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto.
func (*ThriftFilter) GetConfigType ¶
func (x *ThriftFilter) GetConfigType() isThriftFilter_ConfigType
func (*ThriftFilter) GetName ¶
func (x *ThriftFilter) GetName() string
func (*ThriftFilter) GetTypedConfig ¶
func (x *ThriftFilter) GetTypedConfig() *anypb.Any
func (*ThriftFilter) HasConfig
deprecated
func (x *ThriftFilter) HasConfig() bool
Deprecated: Marked as deprecated in envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto.
func (*ThriftFilter) HasConfigType ¶
func (x *ThriftFilter) HasConfigType() bool
func (*ThriftFilter) HasTypedConfig ¶
func (x *ThriftFilter) HasTypedConfig() bool
func (*ThriftFilter) ProtoMessage ¶
func (*ThriftFilter) ProtoMessage()
func (*ThriftFilter) ProtoReflect ¶
func (x *ThriftFilter) ProtoReflect() protoreflect.Message
func (*ThriftFilter) Reset ¶
func (x *ThriftFilter) Reset()
func (*ThriftFilter) SetConfig
deprecated
func (x *ThriftFilter) SetConfig(v *structpb.Struct)
Deprecated: Marked as deprecated in envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto.
func (*ThriftFilter) SetName ¶
func (x *ThriftFilter) SetName(v string)
func (*ThriftFilter) SetTypedConfig ¶
func (x *ThriftFilter) SetTypedConfig(v *anypb.Any)
func (*ThriftFilter) String ¶
func (x *ThriftFilter) String() string
func (*ThriftFilter) WhichConfigType ¶
func (x *ThriftFilter) WhichConfigType() case_ThriftFilter_ConfigType
type ThriftFilter_Config ¶
type ThriftFilter_TypedConfig ¶
type ThriftFilter_builder ¶
type ThriftFilter_builder struct {
// The name of the filter to instantiate. The name must match a supported
// filter. The built-in filters are:
//
// [#comment:TODO(zuercher): Auto generate the following list]
// * :ref:`envoy.filters.thrift.router <config_thrift_filters_router>`
// * :ref:`envoy.filters.thrift.rate_limit <config_thrift_filters_rate_limit>`
Name string
// Fields of oneof ConfigType:
// Deprecated: Marked as deprecated in envoy/config/filter/network/thrift_proxy/v2alpha1/thrift_proxy.proto.
Config *structpb.Struct
TypedConfig *anypb.Any
// contains filtered or unexported fields
}
func (ThriftFilter_builder) Build ¶
func (b0 ThriftFilter_builder) Build() *ThriftFilter
type ThriftProtocolOptions ¶
type ThriftProtocolOptions struct {
// Supplies the type of transport that the Thrift proxy should use for upstream connections.
// Selecting
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.TransportType.AUTO_TRANSPORT>`,
// which is the default, causes the proxy to use the same transport as the downstream connection.
Transport TransportType `` /* 141-byte string literal not displayed */
// Supplies the type of protocol that the Thrift proxy should use for upstream connections.
// Selecting
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.ProtocolType.AUTO_PROTOCOL>`,
// which is the default, causes the proxy to use the same protocol as the downstream connection.
Protocol ProtocolType `` /* 138-byte string literal not displayed */
// contains filtered or unexported fields
}
ThriftProtocolOptions specifies Thrift upstream protocol options. This object is used in in :ref:`typed_extension_protocol_options<envoy_api_field_Cluster.typed_extension_protocol_options>`, keyed by the name `envoy.filters.network.thrift_proxy`.
func (*ThriftProtocolOptions) GetProtocol ¶
func (x *ThriftProtocolOptions) GetProtocol() ProtocolType
func (*ThriftProtocolOptions) GetTransport ¶
func (x *ThriftProtocolOptions) GetTransport() TransportType
func (*ThriftProtocolOptions) ProtoMessage ¶
func (*ThriftProtocolOptions) ProtoMessage()
func (*ThriftProtocolOptions) ProtoReflect ¶
func (x *ThriftProtocolOptions) ProtoReflect() protoreflect.Message
func (*ThriftProtocolOptions) Reset ¶
func (x *ThriftProtocolOptions) Reset()
func (*ThriftProtocolOptions) SetProtocol ¶
func (x *ThriftProtocolOptions) SetProtocol(v ProtocolType)
func (*ThriftProtocolOptions) SetTransport ¶
func (x *ThriftProtocolOptions) SetTransport(v TransportType)
func (*ThriftProtocolOptions) String ¶
func (x *ThriftProtocolOptions) String() string
type ThriftProtocolOptions_builder ¶
type ThriftProtocolOptions_builder struct {
// Supplies the type of transport that the Thrift proxy should use for upstream connections.
// Selecting
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.TransportType.AUTO_TRANSPORT>`,
// which is the default, causes the proxy to use the same transport as the downstream connection.
Transport TransportType
// Supplies the type of protocol that the Thrift proxy should use for upstream connections.
// Selecting
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.ProtocolType.AUTO_PROTOCOL>`,
// which is the default, causes the proxy to use the same protocol as the downstream connection.
Protocol ProtocolType
// contains filtered or unexported fields
}
func (ThriftProtocolOptions_builder) Build ¶
func (b0 ThriftProtocolOptions_builder) Build() *ThriftProtocolOptions
type ThriftProxy ¶
type ThriftProxy struct {
// Supplies the type of transport that the Thrift proxy should use. Defaults to
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.TransportType.AUTO_TRANSPORT>`.
Transport TransportType `` /* 141-byte string literal not displayed */
// Supplies the type of protocol that the Thrift proxy should use. Defaults to
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.ProtocolType.AUTO_PROTOCOL>`.
Protocol ProtocolType `` /* 138-byte string literal not displayed */
// The human readable prefix to use when emitting statistics.
StatPrefix string `protobuf:"bytes,1,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
// The route table for the connection manager is static and is specified in this property.
RouteConfig *RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3" json:"route_config,omitempty"`
// A list of individual Thrift filters that make up the filter chain for requests made to the
// Thrift proxy. Order matters as the filters are processed sequentially. For backwards
// compatibility, if no thrift_filters are specified, a default Thrift router filter
// (`envoy.filters.thrift.router`) is used.
ThriftFilters []*ThriftFilter `protobuf:"bytes,5,rep,name=thrift_filters,json=thriftFilters,proto3" json:"thrift_filters,omitempty"`
// contains filtered or unexported fields
}
[#next-free-field: 6]
func (*ThriftProxy) ClearRouteConfig ¶
func (x *ThriftProxy) ClearRouteConfig()
func (*ThriftProxy) GetProtocol ¶
func (x *ThriftProxy) GetProtocol() ProtocolType
func (*ThriftProxy) GetRouteConfig ¶
func (x *ThriftProxy) GetRouteConfig() *RouteConfiguration
func (*ThriftProxy) GetStatPrefix ¶
func (x *ThriftProxy) GetStatPrefix() string
func (*ThriftProxy) GetThriftFilters ¶
func (x *ThriftProxy) GetThriftFilters() []*ThriftFilter
func (*ThriftProxy) GetTransport ¶
func (x *ThriftProxy) GetTransport() TransportType
func (*ThriftProxy) HasRouteConfig ¶
func (x *ThriftProxy) HasRouteConfig() bool
func (*ThriftProxy) ProtoMessage ¶
func (*ThriftProxy) ProtoMessage()
func (*ThriftProxy) ProtoReflect ¶
func (x *ThriftProxy) ProtoReflect() protoreflect.Message
func (*ThriftProxy) Reset ¶
func (x *ThriftProxy) Reset()
func (*ThriftProxy) SetProtocol ¶
func (x *ThriftProxy) SetProtocol(v ProtocolType)
func (*ThriftProxy) SetRouteConfig ¶
func (x *ThriftProxy) SetRouteConfig(v *RouteConfiguration)
func (*ThriftProxy) SetStatPrefix ¶
func (x *ThriftProxy) SetStatPrefix(v string)
func (*ThriftProxy) SetThriftFilters ¶
func (x *ThriftProxy) SetThriftFilters(v []*ThriftFilter)
func (*ThriftProxy) SetTransport ¶
func (x *ThriftProxy) SetTransport(v TransportType)
func (*ThriftProxy) String ¶
func (x *ThriftProxy) String() string
type ThriftProxy_builder ¶
type ThriftProxy_builder struct {
// Supplies the type of transport that the Thrift proxy should use. Defaults to
// :ref:`AUTO_TRANSPORT<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.TransportType.AUTO_TRANSPORT>`.
Transport TransportType
// Supplies the type of protocol that the Thrift proxy should use. Defaults to
// :ref:`AUTO_PROTOCOL<envoy_api_enum_value_config.filter.network.thrift_proxy.v2alpha1.ProtocolType.AUTO_PROTOCOL>`.
Protocol ProtocolType
// The human readable prefix to use when emitting statistics.
StatPrefix string
// The route table for the connection manager is static and is specified in this property.
RouteConfig *RouteConfiguration
// A list of individual Thrift filters that make up the filter chain for requests made to the
// Thrift proxy. Order matters as the filters are processed sequentially. For backwards
// compatibility, if no thrift_filters are specified, a default Thrift router filter
// (`envoy.filters.thrift.router`) is used.
ThriftFilters []*ThriftFilter
// contains filtered or unexported fields
}
func (ThriftProxy_builder) Build ¶
func (b0 ThriftProxy_builder) Build() *ThriftProxy
type TransportType ¶
type TransportType int32
Thrift transport types supported by Envoy.
const ( // For downstream connections, the Thrift proxy will attempt to determine which transport to use. // For upstream connections, the Thrift proxy will use same transport as the downstream // connection. TransportType_AUTO_TRANSPORT TransportType = 0 // The Thrift proxy will use the Thrift framed transport. TransportType_FRAMED TransportType = 1 // The Thrift proxy will use the Thrift unframed transport. TransportType_UNFRAMED TransportType = 2 // The Thrift proxy will assume the client is using the Thrift header transport. TransportType_HEADER TransportType = 3 )
func (TransportType) Descriptor ¶
func (TransportType) Descriptor() protoreflect.EnumDescriptor
func (TransportType) Enum ¶
func (x TransportType) Enum() *TransportType
func (TransportType) Number ¶
func (x TransportType) Number() protoreflect.EnumNumber
func (TransportType) String ¶
func (x TransportType) String() string
func (TransportType) Type ¶
func (TransportType) Type() protoreflect.EnumType
type WeightedCluster ¶
type WeightedCluster struct {
// Specifies one or more upstream clusters associated with the route.
Clusters []*WeightedCluster_ClusterWeight `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"`
// contains filtered or unexported fields
}
Allows for specification of multiple upstream clusters along with weights that indicate the percentage of traffic to be forwarded to each cluster. The router selects an upstream cluster based on these weights.
func (*WeightedCluster) GetClusters ¶
func (x *WeightedCluster) GetClusters() []*WeightedCluster_ClusterWeight
func (*WeightedCluster) ProtoMessage ¶
func (*WeightedCluster) ProtoMessage()
func (*WeightedCluster) ProtoReflect ¶
func (x *WeightedCluster) ProtoReflect() protoreflect.Message
func (*WeightedCluster) Reset ¶
func (x *WeightedCluster) Reset()
func (*WeightedCluster) SetClusters ¶
func (x *WeightedCluster) SetClusters(v []*WeightedCluster_ClusterWeight)
func (*WeightedCluster) String ¶
func (x *WeightedCluster) String() string
type WeightedCluster_ClusterWeight ¶
type WeightedCluster_ClusterWeight struct {
// Name of the upstream cluster.
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// When a request matches the route, the choice of an upstream cluster is determined by its
// weight. The sum of weights across all entries in the clusters array determines the total
// weight.
Weight *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=weight,proto3" json:"weight,omitempty"`
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in
// the upstream cluster with metadata matching what is set in this field, combined with what's
// provided in :ref:`RouteAction's metadata_match
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteAction.metadata_match>`,
// will be considered. Values here will take precedence. Keys and values should be provided
// under the "envoy.lb" metadata key.
MetadataMatch *core.Metadata `protobuf:"bytes,3,opt,name=metadata_match,json=metadataMatch,proto3" json:"metadata_match,omitempty"`
// contains filtered or unexported fields
}
func (*WeightedCluster_ClusterWeight) ClearMetadataMatch ¶
func (x *WeightedCluster_ClusterWeight) ClearMetadataMatch()
func (*WeightedCluster_ClusterWeight) ClearWeight ¶
func (x *WeightedCluster_ClusterWeight) ClearWeight()
func (*WeightedCluster_ClusterWeight) GetMetadataMatch ¶
func (x *WeightedCluster_ClusterWeight) GetMetadataMatch() *core.Metadata
func (*WeightedCluster_ClusterWeight) GetName ¶
func (x *WeightedCluster_ClusterWeight) GetName() string
func (*WeightedCluster_ClusterWeight) GetWeight ¶
func (x *WeightedCluster_ClusterWeight) GetWeight() *wrapperspb.UInt32Value
func (*WeightedCluster_ClusterWeight) HasMetadataMatch ¶
func (x *WeightedCluster_ClusterWeight) HasMetadataMatch() bool
func (*WeightedCluster_ClusterWeight) HasWeight ¶
func (x *WeightedCluster_ClusterWeight) HasWeight() bool
func (*WeightedCluster_ClusterWeight) ProtoMessage ¶
func (*WeightedCluster_ClusterWeight) ProtoMessage()
func (*WeightedCluster_ClusterWeight) ProtoReflect ¶
func (x *WeightedCluster_ClusterWeight) ProtoReflect() protoreflect.Message
func (*WeightedCluster_ClusterWeight) Reset ¶
func (x *WeightedCluster_ClusterWeight) Reset()
func (*WeightedCluster_ClusterWeight) SetMetadataMatch ¶
func (x *WeightedCluster_ClusterWeight) SetMetadataMatch(v *core.Metadata)
func (*WeightedCluster_ClusterWeight) SetName ¶
func (x *WeightedCluster_ClusterWeight) SetName(v string)
func (*WeightedCluster_ClusterWeight) SetWeight ¶
func (x *WeightedCluster_ClusterWeight) SetWeight(v *wrapperspb.UInt32Value)
func (*WeightedCluster_ClusterWeight) String ¶
func (x *WeightedCluster_ClusterWeight) String() string
type WeightedCluster_ClusterWeight_builder ¶
type WeightedCluster_ClusterWeight_builder struct {
// Name of the upstream cluster.
Name string
// When a request matches the route, the choice of an upstream cluster is determined by its
// weight. The sum of weights across all entries in the clusters array determines the total
// weight.
Weight *wrapperspb.UInt32Value
// Optional endpoint metadata match criteria used by the subset load balancer. Only endpoints in
// the upstream cluster with metadata matching what is set in this field, combined with what's
// provided in :ref:`RouteAction's metadata_match
// <envoy_api_field_config.filter.network.thrift_proxy.v2alpha1.RouteAction.metadata_match>`,
// will be considered. Values here will take precedence. Keys and values should be provided
// under the "envoy.lb" metadata key.
MetadataMatch *core.Metadata
// contains filtered or unexported fields
}
func (WeightedCluster_ClusterWeight_builder) Build ¶
func (b0 WeightedCluster_ClusterWeight_builder) Build() *WeightedCluster_ClusterWeight
type WeightedCluster_builder ¶
type WeightedCluster_builder struct {
// Specifies one or more upstream clusters associated with the route.
Clusters []*WeightedCluster_ClusterWeight
// contains filtered or unexported fields
}
func (WeightedCluster_builder) Build ¶
func (b0 WeightedCluster_builder) Build() *WeightedCluster
Source Files
¶
- route.pb.go
- thrift_proxy.pb.go