endpointv3

package
v1.34.0-20240426201503... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_config_endpoint_v3_endpoint_components_proto protoreflect.FileDescriptor
View Source
var File_envoy_config_endpoint_v3_endpoint_proto protoreflect.FileDescriptor
View Source
var File_envoy_config_endpoint_v3_load_report_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type ClusterLoadAssignment

type ClusterLoadAssignment struct {

	// Name of the cluster. This will be the :ref:`service_name
	// <envoy_v3_api_field_config.cluster.v3.Cluster.EdsClusterConfig.service_name>` value if specified
	// in the cluster :ref:`EdsClusterConfig
	// <envoy_v3_api_msg_config.cluster.v3.Cluster.EdsClusterConfig>`.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// List of endpoints to load balance to.
	Endpoints []*LocalityLbEndpoints `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"`
	// Map of named endpoints that can be referenced in LocalityLbEndpoints.
	// [#not-implemented-hide:]
	NamedEndpoints map[string]*Endpoint `` /* 191-byte string literal not displayed */
	// Load balancing policy settings.
	Policy *ClusterLoadAssignment_Policy `protobuf:"bytes,4,opt,name=policy,proto3" json:"policy,omitempty"`
	// contains filtered or unexported fields
}

Each route from RDS will map to a single cluster or traffic split across clusters using weights expressed in the RDS WeightedCluster.

With EDS, each cluster is treated independently from a LB perspective, with LB taking place between the Localities within a cluster and at a finer granularity between the hosts within a locality. The percentage of traffic for each endpoint is determined by both its load_balancing_weight, and the load_balancing_weight of its locality. First, a locality will be selected, then an endpoint within that locality will be chose based on its weight. [#next-free-field: 6]

func (*ClusterLoadAssignment) Descriptor deprecated

func (*ClusterLoadAssignment) Descriptor() ([]byte, []int)

Deprecated: Use ClusterLoadAssignment.ProtoReflect.Descriptor instead.

func (*ClusterLoadAssignment) GetClusterName

func (x *ClusterLoadAssignment) GetClusterName() string

func (*ClusterLoadAssignment) GetEndpoints

func (x *ClusterLoadAssignment) GetEndpoints() []*LocalityLbEndpoints

func (*ClusterLoadAssignment) GetNamedEndpoints

func (x *ClusterLoadAssignment) GetNamedEndpoints() map[string]*Endpoint

func (*ClusterLoadAssignment) GetPolicy

func (*ClusterLoadAssignment) ProtoMessage

func (*ClusterLoadAssignment) ProtoMessage()

func (*ClusterLoadAssignment) ProtoReflect

func (x *ClusterLoadAssignment) ProtoReflect() protoreflect.Message

func (*ClusterLoadAssignment) Reset

func (x *ClusterLoadAssignment) Reset()

func (*ClusterLoadAssignment) String

func (x *ClusterLoadAssignment) String() string

type ClusterLoadAssignment_Policy

type ClusterLoadAssignment_Policy struct {

	// Action to trim the overall incoming traffic to protect the upstream
	// hosts. This action allows protection in case the hosts are unable to
	// recover from an outage, or unable to autoscale or unable to handle
	// incoming traffic volume for any reason.
	//
	// At the client each category is applied one after the other to generate
	// the 'actual' drop percentage on all outgoing traffic. For example:
	//
	// .. code-block:: json
	//
	//	{ "drop_overloads": [
	//	    { "category": "throttle", "drop_percentage": 60 }
	//	    { "category": "lb", "drop_percentage": 50 }
	//	]}
	//
	// The actual drop percentages applied to the traffic at the clients will be
	//
	//	"throttle"_drop = 60%
	//	"lb"_drop = 20%  // 50% of the remaining 'actual' load, which is 40%.
	//	actual_outgoing_load = 20% // remaining after applying all categories.
	//
	// Envoy supports only one element and will NACK if more than one element is present.
	// Other xDS-capable data planes will not necessarily have this limitation.
	//
	// In Envoy, this “drop_overloads“ config can be overridden by a runtime key
	// "load_balancing_policy.drop_overload_limit" setting. This runtime key can be set to
	// any integer number between 0 and 100. 0 means drop 0%. 100 means drop 100%.
	// When both “drop_overloads“ config and "load_balancing_policy.drop_overload_limit"
	// setting are in place, the min of these two wins.
	DropOverloads []*ClusterLoadAssignment_Policy_DropOverload `protobuf:"bytes,2,rep,name=drop_overloads,json=dropOverloads,proto3" json:"drop_overloads,omitempty"`
	// Priority levels and localities are considered overprovisioned with this
	// factor (in percentage). This means that we don't consider a priority
	// level or locality unhealthy until the fraction of healthy hosts
	// multiplied by the overprovisioning factor drops below 100.
	// With the default value 140(1.4), Envoy doesn't consider a priority level
	// or a locality unhealthy until their percentage of healthy hosts drops
	// below 72%. For example:
	//
	// .. code-block:: json
	//
	//	{ "overprovisioning_factor": 100 }
	//
	// Read more at :ref:`priority levels <arch_overview_load_balancing_priority_levels>` and
	// :ref:`localities <arch_overview_load_balancing_locality_weighted_lb>`.
	OverprovisioningFactor *wrapperspb.UInt32Value `` /* 127-byte string literal not displayed */
	// The max time until which the endpoints from this assignment can be used.
	// If no new assignments are received before this time expires the endpoints
	// are considered stale and should be marked unhealthy.
	// Defaults to 0 which means endpoints never go stale.
	EndpointStaleAfter *durationpb.Duration `protobuf:"bytes,4,opt,name=endpoint_stale_after,json=endpointStaleAfter,proto3" json:"endpoint_stale_after,omitempty"`
	// If true, use the :ref:`load balancing weight
	// <envoy_v3_api_field_config.endpoint.v3.LbEndpoint.load_balancing_weight>` of healthy and unhealthy
	// hosts to determine the health of the priority level. If false, use the number of healthy and unhealthy hosts
	// to determine the health of the priority level, or in other words assume each host has a weight of 1 for
	// this calculation.
	//
	// Note: this is not currently implemented for
	// :ref:`locality weighted load balancing <arch_overview_load_balancing_locality_weighted_lb>`.
	WeightedPriorityHealth bool `` /* 130-byte string literal not displayed */
	// contains filtered or unexported fields
}

Load balancing policy settings. [#next-free-field: 7]

func (*ClusterLoadAssignment_Policy) Descriptor deprecated

func (*ClusterLoadAssignment_Policy) Descriptor() ([]byte, []int)

Deprecated: Use ClusterLoadAssignment_Policy.ProtoReflect.Descriptor instead.

func (*ClusterLoadAssignment_Policy) GetDropOverloads

func (*ClusterLoadAssignment_Policy) GetEndpointStaleAfter

func (x *ClusterLoadAssignment_Policy) GetEndpointStaleAfter() *durationpb.Duration

func (*ClusterLoadAssignment_Policy) GetOverprovisioningFactor

func (x *ClusterLoadAssignment_Policy) GetOverprovisioningFactor() *wrapperspb.UInt32Value

func (*ClusterLoadAssignment_Policy) GetWeightedPriorityHealth

func (x *ClusterLoadAssignment_Policy) GetWeightedPriorityHealth() bool

func (*ClusterLoadAssignment_Policy) ProtoMessage

func (*ClusterLoadAssignment_Policy) ProtoMessage()

func (*ClusterLoadAssignment_Policy) ProtoReflect

func (*ClusterLoadAssignment_Policy) Reset

func (x *ClusterLoadAssignment_Policy) Reset()

func (*ClusterLoadAssignment_Policy) String

type ClusterLoadAssignment_Policy_DropOverload

type ClusterLoadAssignment_Policy_DropOverload struct {

	// Identifier for the policy specifying the drop.
	Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"`
	// Percentage of traffic that should be dropped for the category.
	DropPercentage *v3.FractionalPercent `protobuf:"bytes,2,opt,name=drop_percentage,json=dropPercentage,proto3" json:"drop_percentage,omitempty"`
	// contains filtered or unexported fields
}

func (*ClusterLoadAssignment_Policy_DropOverload) Descriptor deprecated

func (*ClusterLoadAssignment_Policy_DropOverload) Descriptor() ([]byte, []int)

Deprecated: Use ClusterLoadAssignment_Policy_DropOverload.ProtoReflect.Descriptor instead.

func (*ClusterLoadAssignment_Policy_DropOverload) GetCategory

func (*ClusterLoadAssignment_Policy_DropOverload) GetDropPercentage

func (*ClusterLoadAssignment_Policy_DropOverload) ProtoMessage

func (*ClusterLoadAssignment_Policy_DropOverload) ProtoReflect

func (*ClusterLoadAssignment_Policy_DropOverload) Reset

func (*ClusterLoadAssignment_Policy_DropOverload) String

type ClusterStats

type ClusterStats struct {

	// The name of the cluster.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// The eds_cluster_config service_name of the cluster.
	// It's possible that two clusters send the same service_name to EDS,
	// in that case, the management server is supposed to do aggregation on the load reports.
	ClusterServiceName string `protobuf:"bytes,6,opt,name=cluster_service_name,json=clusterServiceName,proto3" json:"cluster_service_name,omitempty"`
	// Need at least one.
	UpstreamLocalityStats []*UpstreamLocalityStats `` /* 126-byte string literal not displayed */
	// Cluster-level stats such as total_successful_requests may be computed by
	// summing upstream_locality_stats. In addition, below there are additional
	// cluster-wide stats.
	//
	// The total number of dropped requests. This covers requests
	// deliberately dropped by the drop_overload policy and circuit breaking.
	TotalDroppedRequests uint64 `protobuf:"varint,3,opt,name=total_dropped_requests,json=totalDroppedRequests,proto3" json:"total_dropped_requests,omitempty"`
	// Information about deliberately dropped requests for each category specified
	// in the DropOverload policy.
	DroppedRequests []*ClusterStats_DroppedRequests `protobuf:"bytes,5,rep,name=dropped_requests,json=droppedRequests,proto3" json:"dropped_requests,omitempty"`
	// Period over which the actual load report occurred. This will be guaranteed to include every
	// request reported. Due to system load and delays between the “LoadStatsRequest“ sent from Envoy
	// and the “LoadStatsResponse“ message sent from the management server, this may be longer than
	// the requested load reporting interval in the “LoadStatsResponse“.
	LoadReportInterval *durationpb.Duration `protobuf:"bytes,4,opt,name=load_report_interval,json=loadReportInterval,proto3" json:"load_report_interval,omitempty"`
	// contains filtered or unexported fields
}

Per cluster load stats. Envoy reports these stats a management server in a :ref:`LoadStatsRequest<envoy_v3_api_msg_service.load_stats.v3.LoadStatsRequest>` Next ID: 7 [#next-free-field: 7]

func (*ClusterStats) Descriptor deprecated

func (*ClusterStats) Descriptor() ([]byte, []int)

Deprecated: Use ClusterStats.ProtoReflect.Descriptor instead.

func (*ClusterStats) GetClusterName

func (x *ClusterStats) GetClusterName() string

func (*ClusterStats) GetClusterServiceName

func (x *ClusterStats) GetClusterServiceName() string

func (*ClusterStats) GetDroppedRequests

func (x *ClusterStats) GetDroppedRequests() []*ClusterStats_DroppedRequests

func (*ClusterStats) GetLoadReportInterval

func (x *ClusterStats) GetLoadReportInterval() *durationpb.Duration

func (*ClusterStats) GetTotalDroppedRequests

func (x *ClusterStats) GetTotalDroppedRequests() uint64

func (*ClusterStats) GetUpstreamLocalityStats

func (x *ClusterStats) GetUpstreamLocalityStats() []*UpstreamLocalityStats

func (*ClusterStats) ProtoMessage

func (*ClusterStats) ProtoMessage()

func (*ClusterStats) ProtoReflect

func (x *ClusterStats) ProtoReflect() protoreflect.Message

func (*ClusterStats) Reset

func (x *ClusterStats) Reset()

func (*ClusterStats) String

func (x *ClusterStats) String() string

type ClusterStats_DroppedRequests

type ClusterStats_DroppedRequests struct {

	// Identifier for the policy specifying the drop.
	Category string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"`
	// Total number of deliberately dropped requests for the category.
	DroppedCount uint64 `protobuf:"varint,2,opt,name=dropped_count,json=droppedCount,proto3" json:"dropped_count,omitempty"`
	// contains filtered or unexported fields
}

func (*ClusterStats_DroppedRequests) Descriptor deprecated

func (*ClusterStats_DroppedRequests) Descriptor() ([]byte, []int)

Deprecated: Use ClusterStats_DroppedRequests.ProtoReflect.Descriptor instead.

func (*ClusterStats_DroppedRequests) GetCategory

func (x *ClusterStats_DroppedRequests) GetCategory() string

func (*ClusterStats_DroppedRequests) GetDroppedCount

func (x *ClusterStats_DroppedRequests) GetDroppedCount() uint64

func (*ClusterStats_DroppedRequests) ProtoMessage

func (*ClusterStats_DroppedRequests) ProtoMessage()

func (*ClusterStats_DroppedRequests) ProtoReflect

func (*ClusterStats_DroppedRequests) Reset

func (x *ClusterStats_DroppedRequests) Reset()

func (*ClusterStats_DroppedRequests) String

type Endpoint

type Endpoint struct {

	// The upstream host address.
	//
	// .. attention::
	//
	//	The form of host address depends on the given cluster type. For STATIC or EDS,
	//	it is expected to be a direct IP address (or something resolvable by the
	//	specified :ref:`resolver <envoy_v3_api_field_config.core.v3.SocketAddress.resolver_name>`
	//	in the Address). For LOGICAL or STRICT DNS, it is expected to be hostname,
	//	and will be resolved via DNS.
	Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// The optional health check configuration is used as configuration for the
	// health checker to contact the health checked host.
	//
	// .. attention::
	//
	//	This takes into effect only for upstream clusters with
	//	:ref:`active health checking <arch_overview_health_checking>` enabled.
	HealthCheckConfig *Endpoint_HealthCheckConfig `protobuf:"bytes,2,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"`
	// The hostname associated with this endpoint. This hostname is not used for routing or address
	// resolution. If provided, it will be associated with the endpoint, and can be used for features
	// that require a hostname, like
	// :ref:`auto_host_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.auto_host_rewrite>`.
	Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// An ordered list of addresses that together with “address“ comprise the
	// list of addresses for an endpoint. The address given in the “address“ is
	// prepended to this list. It is assumed that the list must already be
	// sorted by preference order of the addresses. This will only be supported
	// for STATIC and EDS clusters.
	AdditionalAddresses []*Endpoint_AdditionalAddress `protobuf:"bytes,4,rep,name=additional_addresses,json=additionalAddresses,proto3" json:"additional_addresses,omitempty"`
	// contains filtered or unexported fields
}

Upstream host identifier.

func (*Endpoint) Descriptor deprecated

func (*Endpoint) Descriptor() ([]byte, []int)

Deprecated: Use Endpoint.ProtoReflect.Descriptor instead.

func (*Endpoint) GetAdditionalAddresses

func (x *Endpoint) GetAdditionalAddresses() []*Endpoint_AdditionalAddress

func (*Endpoint) GetAddress

func (x *Endpoint) GetAddress() *v3.Address

func (*Endpoint) GetHealthCheckConfig

func (x *Endpoint) GetHealthCheckConfig() *Endpoint_HealthCheckConfig

func (*Endpoint) GetHostname

func (x *Endpoint) GetHostname() string

func (*Endpoint) ProtoMessage

func (*Endpoint) ProtoMessage()

func (*Endpoint) ProtoReflect

func (x *Endpoint) ProtoReflect() protoreflect.Message

func (*Endpoint) Reset

func (x *Endpoint) Reset()

func (*Endpoint) String

func (x *Endpoint) String() string

type EndpointLoadMetricStats

type EndpointLoadMetricStats struct {

	// Name of the metric; may be empty.
	MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"`
	// Number of calls that finished and included this metric.
	NumRequestsFinishedWithMetric uint64 `` /* 155-byte string literal not displayed */
	// Sum of metric values across all calls that finished with this metric for
	// load_reporting_interval.
	TotalMetricValue float64 `protobuf:"fixed64,3,opt,name=total_metric_value,json=totalMetricValue,proto3" json:"total_metric_value,omitempty"`
	// contains filtered or unexported fields
}

func (*EndpointLoadMetricStats) Descriptor deprecated

func (*EndpointLoadMetricStats) Descriptor() ([]byte, []int)

Deprecated: Use EndpointLoadMetricStats.ProtoReflect.Descriptor instead.

func (*EndpointLoadMetricStats) GetMetricName

func (x *EndpointLoadMetricStats) GetMetricName() string

func (*EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric

func (x *EndpointLoadMetricStats) GetNumRequestsFinishedWithMetric() uint64

func (*EndpointLoadMetricStats) GetTotalMetricValue

func (x *EndpointLoadMetricStats) GetTotalMetricValue() float64

func (*EndpointLoadMetricStats) ProtoMessage

func (*EndpointLoadMetricStats) ProtoMessage()

func (*EndpointLoadMetricStats) ProtoReflect

func (x *EndpointLoadMetricStats) ProtoReflect() protoreflect.Message

func (*EndpointLoadMetricStats) Reset

func (x *EndpointLoadMetricStats) Reset()

func (*EndpointLoadMetricStats) String

func (x *EndpointLoadMetricStats) String() string

type Endpoint_AdditionalAddress

type Endpoint_AdditionalAddress struct {

	// Additional address that is associated with the endpoint.
	Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// contains filtered or unexported fields
}

func (*Endpoint_AdditionalAddress) Descriptor deprecated

func (*Endpoint_AdditionalAddress) Descriptor() ([]byte, []int)

Deprecated: Use Endpoint_AdditionalAddress.ProtoReflect.Descriptor instead.

func (*Endpoint_AdditionalAddress) GetAddress

func (x *Endpoint_AdditionalAddress) GetAddress() *v3.Address

func (*Endpoint_AdditionalAddress) ProtoMessage

func (*Endpoint_AdditionalAddress) ProtoMessage()

func (*Endpoint_AdditionalAddress) ProtoReflect

func (*Endpoint_AdditionalAddress) Reset

func (x *Endpoint_AdditionalAddress) Reset()

func (*Endpoint_AdditionalAddress) String

func (x *Endpoint_AdditionalAddress) String() string

type Endpoint_HealthCheckConfig

type Endpoint_HealthCheckConfig struct {

	// Optional alternative health check port value.
	//
	// By default the health check address port of an upstream host is the same
	// as the host's serving address port. This provides an alternative health
	// check port. Setting this with a non-zero value allows an upstream host
	// to have different health check address port.
	PortValue uint32 `protobuf:"varint,1,opt,name=port_value,json=portValue,proto3" json:"port_value,omitempty"`
	// By default, the host header for L7 health checks is controlled by cluster level configuration
	// (see: :ref:`host <envoy_v3_api_field_config.core.v3.HealthCheck.HttpHealthCheck.host>` and
	// :ref:`authority <envoy_v3_api_field_config.core.v3.HealthCheck.GrpcHealthCheck.authority>`). Setting this
	// to a non-empty value allows overriding the cluster level configuration for a specific
	// endpoint.
	Hostname string `protobuf:"bytes,2,opt,name=hostname,proto3" json:"hostname,omitempty"`
	// Optional alternative health check host address.
	//
	// .. attention::
	//
	//	The form of the health check host address is expected to be a direct IP address.
	Address *v3.Address `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"`
	// Optional flag to control if perform active health check for this endpoint.
	// Active health check is enabled by default if there is a health checker.
	DisableActiveHealthCheck bool `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

The optional health check configuration.

func (*Endpoint_HealthCheckConfig) Descriptor deprecated

func (*Endpoint_HealthCheckConfig) Descriptor() ([]byte, []int)

Deprecated: Use Endpoint_HealthCheckConfig.ProtoReflect.Descriptor instead.

func (*Endpoint_HealthCheckConfig) GetAddress

func (x *Endpoint_HealthCheckConfig) GetAddress() *v3.Address

func (*Endpoint_HealthCheckConfig) GetDisableActiveHealthCheck

func (x *Endpoint_HealthCheckConfig) GetDisableActiveHealthCheck() bool

func (*Endpoint_HealthCheckConfig) GetHostname

func (x *Endpoint_HealthCheckConfig) GetHostname() string

func (*Endpoint_HealthCheckConfig) GetPortValue

func (x *Endpoint_HealthCheckConfig) GetPortValue() uint32

func (*Endpoint_HealthCheckConfig) ProtoMessage

func (*Endpoint_HealthCheckConfig) ProtoMessage()

func (*Endpoint_HealthCheckConfig) ProtoReflect

func (*Endpoint_HealthCheckConfig) Reset

func (x *Endpoint_HealthCheckConfig) Reset()

func (*Endpoint_HealthCheckConfig) String

func (x *Endpoint_HealthCheckConfig) String() string

type LbEndpoint

type LbEndpoint struct {

	// Upstream host identifier or a named reference.
	//
	// Types that are assignable to HostIdentifier:
	//
	//	*LbEndpoint_Endpoint
	//	*LbEndpoint_EndpointName
	HostIdentifier isLbEndpoint_HostIdentifier `protobuf_oneof:"host_identifier"`
	// Optional health status when known and supplied by EDS server.
	HealthStatus v3.HealthStatus `` /* 137-byte string literal not displayed */
	// The endpoint metadata specifies values that may be used by the load
	// balancer to select endpoints in a cluster for a given request. The filter
	// name should be specified as “envoy.lb“. An example boolean key-value pair
	// is “canary“, providing the optional canary status of the upstream host.
	// This may be matched against in a route's
	// :ref:`RouteAction <envoy_v3_api_msg_config.route.v3.RouteAction>` metadata_match field
	// to subset the endpoints considered in cluster load balancing.
	Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// The optional load balancing weight of the upstream host; at least 1.
	// Envoy uses the load balancing weight in some of the built in load
	// balancers. The load balancing weight for an endpoint is divided by the sum
	// of the weights of all endpoints in the endpoint's locality to produce a
	// percentage of traffic for the endpoint. This percentage is then further
	// weighted by the endpoint's locality's load balancing weight from
	// LocalityLbEndpoints. If unspecified, will be treated as 1. The sum
	// of the weights of all endpoints in the endpoint's locality must not
	// exceed uint32_t maximal value (4294967295).
	LoadBalancingWeight *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"`
	// contains filtered or unexported fields
}

An Endpoint that Envoy can route traffic to. [#next-free-field: 6]

func (*LbEndpoint) Descriptor deprecated

func (*LbEndpoint) Descriptor() ([]byte, []int)

Deprecated: Use LbEndpoint.ProtoReflect.Descriptor instead.

func (*LbEndpoint) GetEndpoint

func (x *LbEndpoint) GetEndpoint() *Endpoint

func (*LbEndpoint) GetEndpointName

func (x *LbEndpoint) GetEndpointName() string

func (*LbEndpoint) GetHealthStatus

func (x *LbEndpoint) GetHealthStatus() v3.HealthStatus

func (*LbEndpoint) GetHostIdentifier

func (m *LbEndpoint) GetHostIdentifier() isLbEndpoint_HostIdentifier

func (*LbEndpoint) GetLoadBalancingWeight

func (x *LbEndpoint) GetLoadBalancingWeight() *wrapperspb.UInt32Value

func (*LbEndpoint) GetMetadata

func (x *LbEndpoint) GetMetadata() *v3.Metadata

func (*LbEndpoint) ProtoMessage

func (*LbEndpoint) ProtoMessage()

func (*LbEndpoint) ProtoReflect

func (x *LbEndpoint) ProtoReflect() protoreflect.Message

func (*LbEndpoint) Reset

func (x *LbEndpoint) Reset()

func (*LbEndpoint) String

func (x *LbEndpoint) String() string

type LbEndpoint_Endpoint

type LbEndpoint_Endpoint struct {
	Endpoint *Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3,oneof"`
}

type LbEndpoint_EndpointName

type LbEndpoint_EndpointName struct {
	// [#not-implemented-hide:]
	EndpointName string `protobuf:"bytes,5,opt,name=endpoint_name,json=endpointName,proto3,oneof"`
}

type LedsClusterLocalityConfig

type LedsClusterLocalityConfig struct {

	// Configuration for the source of LEDS updates for a Locality.
	LedsConfig *v3.ConfigSource `protobuf:"bytes,1,opt,name=leds_config,json=ledsConfig,proto3" json:"leds_config,omitempty"`
	// The xDS transport protocol glob collection resource name.
	// The service is only supported in delta xDS (incremental) mode.
	LedsCollectionName string `protobuf:"bytes,2,opt,name=leds_collection_name,json=ledsCollectionName,proto3" json:"leds_collection_name,omitempty"`
	// contains filtered or unexported fields
}

[#not-implemented-hide:] A configuration for a LEDS collection.

func (*LedsClusterLocalityConfig) Descriptor deprecated

func (*LedsClusterLocalityConfig) Descriptor() ([]byte, []int)

Deprecated: Use LedsClusterLocalityConfig.ProtoReflect.Descriptor instead.

func (*LedsClusterLocalityConfig) GetLedsCollectionName

func (x *LedsClusterLocalityConfig) GetLedsCollectionName() string

func (*LedsClusterLocalityConfig) GetLedsConfig

func (x *LedsClusterLocalityConfig) GetLedsConfig() *v3.ConfigSource

func (*LedsClusterLocalityConfig) ProtoMessage

func (*LedsClusterLocalityConfig) ProtoMessage()

func (*LedsClusterLocalityConfig) ProtoReflect

func (*LedsClusterLocalityConfig) Reset

func (x *LedsClusterLocalityConfig) Reset()

func (*LedsClusterLocalityConfig) String

func (x *LedsClusterLocalityConfig) String() string

type LocalityLbEndpoints

type LocalityLbEndpoints struct {

	// Identifies location of where the upstream hosts run.
	Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	// The group of endpoints belonging to the locality specified.
	// [#comment:TODO(adisuissa): Once LEDS is implemented this field needs to be
	// deprecated and replaced by “load_balancer_endpoints“.]
	LbEndpoints []*LbEndpoint `protobuf:"bytes,2,rep,name=lb_endpoints,json=lbEndpoints,proto3" json:"lb_endpoints,omitempty"`
	// [#not-implemented-hide:]
	//
	// Types that are assignable to LbConfig:
	//
	//	*LocalityLbEndpoints_LoadBalancerEndpoints
	//	*LocalityLbEndpoints_LedsClusterLocalityConfig
	LbConfig isLocalityLbEndpoints_LbConfig `protobuf_oneof:"lb_config"`
	// Optional: Per priority/region/zone/sub_zone weight; at least 1. The load
	// balancing weight for a locality is divided by the sum of the weights of all
	// localities  at the same priority level to produce the effective percentage
	// of traffic for the locality. The sum of the weights of all localities at
	// the same priority level must not exceed uint32_t maximal value (4294967295).
	//
	// Locality weights are only considered when :ref:`locality weighted load
	// balancing <arch_overview_load_balancing_locality_weighted_lb>` is
	// configured. These weights are ignored otherwise. If no weights are
	// specified when locality weighted load balancing is enabled, the locality is
	// assigned no load.
	LoadBalancingWeight *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=load_balancing_weight,json=loadBalancingWeight,proto3" json:"load_balancing_weight,omitempty"`
	// Optional: the priority for this LocalityLbEndpoints. If unspecified this will
	// default to the highest priority (0).
	//
	// Under usual circumstances, Envoy will only select endpoints for the highest
	// priority (0). In the event that enough endpoints for a particular priority are
	// unavailable/unhealthy, Envoy will fail over to selecting endpoints for the
	// next highest priority group. Read more at :ref:`priority levels <arch_overview_load_balancing_priority_levels>`.
	//
	// Priorities should range from 0 (highest) to N (lowest) without skipping.
	Priority uint32 `protobuf:"varint,5,opt,name=priority,proto3" json:"priority,omitempty"`
	// Optional: Per locality proximity value which indicates how close this
	// locality is from the source locality. This value only provides ordering
	// information (lower the value, closer it is to the source locality).
	// This will be consumed by load balancing schemes that need proximity order
	// to determine where to route the requests.
	// [#not-implemented-hide:]
	Proximity *wrapperspb.UInt32Value `protobuf:"bytes,6,opt,name=proximity,proto3" json:"proximity,omitempty"`
	// contains filtered or unexported fields
}

A group of endpoints belonging to a Locality. One can have multiple LocalityLbEndpoints for a locality, but only if they have different priorities. [#next-free-field: 9]

func (*LocalityLbEndpoints) Descriptor deprecated

func (*LocalityLbEndpoints) Descriptor() ([]byte, []int)

Deprecated: Use LocalityLbEndpoints.ProtoReflect.Descriptor instead.

func (*LocalityLbEndpoints) GetLbConfig

func (m *LocalityLbEndpoints) GetLbConfig() isLocalityLbEndpoints_LbConfig

func (*LocalityLbEndpoints) GetLbEndpoints

func (x *LocalityLbEndpoints) GetLbEndpoints() []*LbEndpoint

func (*LocalityLbEndpoints) GetLedsClusterLocalityConfig

func (x *LocalityLbEndpoints) GetLedsClusterLocalityConfig() *LedsClusterLocalityConfig

func (*LocalityLbEndpoints) GetLoadBalancerEndpoints

func (x *LocalityLbEndpoints) GetLoadBalancerEndpoints() *LocalityLbEndpoints_LbEndpointList

func (*LocalityLbEndpoints) GetLoadBalancingWeight

func (x *LocalityLbEndpoints) GetLoadBalancingWeight() *wrapperspb.UInt32Value

func (*LocalityLbEndpoints) GetLocality

func (x *LocalityLbEndpoints) GetLocality() *v3.Locality

func (*LocalityLbEndpoints) GetPriority

func (x *LocalityLbEndpoints) GetPriority() uint32

func (*LocalityLbEndpoints) GetProximity

func (x *LocalityLbEndpoints) GetProximity() *wrapperspb.UInt32Value

func (*LocalityLbEndpoints) ProtoMessage

func (*LocalityLbEndpoints) ProtoMessage()

func (*LocalityLbEndpoints) ProtoReflect

func (x *LocalityLbEndpoints) ProtoReflect() protoreflect.Message

func (*LocalityLbEndpoints) Reset

func (x *LocalityLbEndpoints) Reset()

func (*LocalityLbEndpoints) String

func (x *LocalityLbEndpoints) String() string

type LocalityLbEndpoints_LbEndpointList

type LocalityLbEndpoints_LbEndpointList struct {
	LbEndpoints []*LbEndpoint `protobuf:"bytes,1,rep,name=lb_endpoints,json=lbEndpoints,proto3" json:"lb_endpoints,omitempty"`
	// contains filtered or unexported fields
}

[#not-implemented-hide:] A list of endpoints of a specific locality.

func (*LocalityLbEndpoints_LbEndpointList) Descriptor deprecated

func (*LocalityLbEndpoints_LbEndpointList) Descriptor() ([]byte, []int)

Deprecated: Use LocalityLbEndpoints_LbEndpointList.ProtoReflect.Descriptor instead.

func (*LocalityLbEndpoints_LbEndpointList) GetLbEndpoints

func (x *LocalityLbEndpoints_LbEndpointList) GetLbEndpoints() []*LbEndpoint

func (*LocalityLbEndpoints_LbEndpointList) ProtoMessage

func (*LocalityLbEndpoints_LbEndpointList) ProtoMessage()

func (*LocalityLbEndpoints_LbEndpointList) ProtoReflect

func (*LocalityLbEndpoints_LbEndpointList) Reset

func (*LocalityLbEndpoints_LbEndpointList) String

type LocalityLbEndpoints_LedsClusterLocalityConfig

type LocalityLbEndpoints_LedsClusterLocalityConfig struct {
	// LEDS Configuration for the current locality.
	LedsClusterLocalityConfig *LedsClusterLocalityConfig `protobuf:"bytes,8,opt,name=leds_cluster_locality_config,json=ledsClusterLocalityConfig,proto3,oneof"`
}

type LocalityLbEndpoints_LoadBalancerEndpoints

type LocalityLbEndpoints_LoadBalancerEndpoints struct {
	// The group of endpoints belonging to the locality.
	// [#comment:TODO(adisuissa): Once LEDS is implemented the “lb_endpoints“ field
	// needs to be deprecated.]
	LoadBalancerEndpoints *LocalityLbEndpoints_LbEndpointList `protobuf:"bytes,7,opt,name=load_balancer_endpoints,json=loadBalancerEndpoints,proto3,oneof"`
}

type UpstreamEndpointStats

type UpstreamEndpointStats struct {

	// Upstream host address.
	Address *v3.Address `protobuf:"bytes,1,opt,name=address,proto3" json:"address,omitempty"`
	// Opaque and implementation dependent metadata of the
	// endpoint. Envoy will pass this directly to the management server.
	Metadata *structpb.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// The total number of requests successfully completed by the endpoints in the
	// locality. These include non-5xx responses for HTTP, where errors
	// originate at the client and the endpoint responded successfully. For gRPC,
	// the grpc-status values are those not covered by total_error_requests below.
	TotalSuccessfulRequests uint64 `` /* 133-byte string literal not displayed */
	// The total number of unfinished requests for this endpoint.
	TotalRequestsInProgress uint64 `` /* 135-byte string literal not displayed */
	// The total number of requests that failed due to errors at the endpoint.
	// For HTTP these are responses with 5xx status codes and for gRPC the
	// grpc-status values:
	//
	//   - DeadlineExceeded
	//   - Unimplemented
	//   - Internal
	//   - Unavailable
	//   - Unknown
	//   - DataLoss
	TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"`
	// The total number of requests that were issued to this endpoint
	// since the last report. A single TCP connection, HTTP or gRPC
	// request or stream is counted as one request.
	TotalIssuedRequests uint64 `protobuf:"varint,7,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"`
	// Stats for multi-dimensional load balancing.
	LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 8]

func (*UpstreamEndpointStats) Descriptor deprecated

func (*UpstreamEndpointStats) Descriptor() ([]byte, []int)

Deprecated: Use UpstreamEndpointStats.ProtoReflect.Descriptor instead.

func (*UpstreamEndpointStats) GetAddress

func (x *UpstreamEndpointStats) GetAddress() *v3.Address

func (*UpstreamEndpointStats) GetLoadMetricStats

func (x *UpstreamEndpointStats) GetLoadMetricStats() []*EndpointLoadMetricStats

func (*UpstreamEndpointStats) GetMetadata

func (x *UpstreamEndpointStats) GetMetadata() *structpb.Struct

func (*UpstreamEndpointStats) GetTotalErrorRequests

func (x *UpstreamEndpointStats) GetTotalErrorRequests() uint64

func (*UpstreamEndpointStats) GetTotalIssuedRequests

func (x *UpstreamEndpointStats) GetTotalIssuedRequests() uint64

func (*UpstreamEndpointStats) GetTotalRequestsInProgress

func (x *UpstreamEndpointStats) GetTotalRequestsInProgress() uint64

func (*UpstreamEndpointStats) GetTotalSuccessfulRequests

func (x *UpstreamEndpointStats) GetTotalSuccessfulRequests() uint64

func (*UpstreamEndpointStats) ProtoMessage

func (*UpstreamEndpointStats) ProtoMessage()

func (*UpstreamEndpointStats) ProtoReflect

func (x *UpstreamEndpointStats) ProtoReflect() protoreflect.Message

func (*UpstreamEndpointStats) Reset

func (x *UpstreamEndpointStats) Reset()

func (*UpstreamEndpointStats) String

func (x *UpstreamEndpointStats) String() string

type UpstreamLocalityStats

type UpstreamLocalityStats struct {

	// Name of zone, region and optionally endpoint group these metrics were
	// collected from. Zone and region names could be empty if unknown.
	Locality *v3.Locality `protobuf:"bytes,1,opt,name=locality,proto3" json:"locality,omitempty"`
	// The total number of requests successfully completed by the endpoints in the
	// locality.
	TotalSuccessfulRequests uint64 `` /* 133-byte string literal not displayed */
	// The total number of unfinished requests
	TotalRequestsInProgress uint64 `` /* 135-byte string literal not displayed */
	// The total number of requests that failed due to errors at the endpoint,
	// aggregated over all endpoints in the locality.
	TotalErrorRequests uint64 `protobuf:"varint,4,opt,name=total_error_requests,json=totalErrorRequests,proto3" json:"total_error_requests,omitempty"`
	// The total number of requests that were issued by this Envoy since
	// the last report. This information is aggregated over all the
	// upstream endpoints in the locality.
	TotalIssuedRequests uint64 `protobuf:"varint,8,opt,name=total_issued_requests,json=totalIssuedRequests,proto3" json:"total_issued_requests,omitempty"`
	// Stats for multi-dimensional load balancing.
	LoadMetricStats []*EndpointLoadMetricStats `protobuf:"bytes,5,rep,name=load_metric_stats,json=loadMetricStats,proto3" json:"load_metric_stats,omitempty"`
	// Endpoint granularity stats information for this locality. This information
	// is populated if the Server requests it by setting
	// :ref:`LoadStatsResponse.report_endpoint_granularity<envoy_v3_api_field_service.load_stats.v3.LoadStatsResponse.report_endpoint_granularity>`.
	UpstreamEndpointStats []*UpstreamEndpointStats `` /* 126-byte string literal not displayed */
	// [#not-implemented-hide:] The priority of the endpoint group these metrics
	// were collected from.
	Priority uint32 `protobuf:"varint,6,opt,name=priority,proto3" json:"priority,omitempty"`
	// contains filtered or unexported fields
}

These are stats Envoy reports to the management server at a frequency defined by :ref:`LoadStatsResponse.load_reporting_interval<envoy_v3_api_field_service.load_stats.v3.LoadStatsResponse.load_reporting_interval>`. Stats per upstream region/zone and optionally per subzone. [#next-free-field: 9]

func (*UpstreamLocalityStats) Descriptor deprecated

func (*UpstreamLocalityStats) Descriptor() ([]byte, []int)

Deprecated: Use UpstreamLocalityStats.ProtoReflect.Descriptor instead.

func (*UpstreamLocalityStats) GetLoadMetricStats

func (x *UpstreamLocalityStats) GetLoadMetricStats() []*EndpointLoadMetricStats

func (*UpstreamLocalityStats) GetLocality

func (x *UpstreamLocalityStats) GetLocality() *v3.Locality

func (*UpstreamLocalityStats) GetPriority

func (x *UpstreamLocalityStats) GetPriority() uint32

func (*UpstreamLocalityStats) GetTotalErrorRequests

func (x *UpstreamLocalityStats) GetTotalErrorRequests() uint64

func (*UpstreamLocalityStats) GetTotalIssuedRequests

func (x *UpstreamLocalityStats) GetTotalIssuedRequests() uint64

func (*UpstreamLocalityStats) GetTotalRequestsInProgress

func (x *UpstreamLocalityStats) GetTotalRequestsInProgress() uint64

func (*UpstreamLocalityStats) GetTotalSuccessfulRequests

func (x *UpstreamLocalityStats) GetTotalSuccessfulRequests() uint64

func (*UpstreamLocalityStats) GetUpstreamEndpointStats

func (x *UpstreamLocalityStats) GetUpstreamEndpointStats() []*UpstreamEndpointStats

func (*UpstreamLocalityStats) ProtoMessage

func (*UpstreamLocalityStats) ProtoMessage()

func (*UpstreamLocalityStats) ProtoReflect

func (x *UpstreamLocalityStats) ProtoReflect() protoreflect.Message

func (*UpstreamLocalityStats) Reset

func (x *UpstreamLocalityStats) Reset()

func (*UpstreamLocalityStats) String

func (x *UpstreamLocalityStats) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL