service_config

package
v1.33.0-20240412200742... Latest Latest
Warning

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

Go to latest
Published: unknown License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	OverrideHostLoadBalancingPolicyConfig_HealthStatus_name = map[int32]string{
		0: "UNKNOWN",
		1: "HEALTHY",
		3: "DRAINING",
	}
	OverrideHostLoadBalancingPolicyConfig_HealthStatus_value = map[string]int32{
		"UNKNOWN":  0,
		"HEALTHY":  1,
		"DRAINING": 3,
	}
)

Enum value maps for OverrideHostLoadBalancingPolicyConfig_HealthStatus.

View Source
var (
	ServiceConfig_LoadBalancingPolicy_name = map[int32]string{
		0: "UNSPECIFIED",
		1: "ROUND_ROBIN",
	}
	ServiceConfig_LoadBalancingPolicy_value = map[string]int32{
		"UNSPECIFIED": 0,
		"ROUND_ROBIN": 1,
	}
)

Enum value maps for ServiceConfig_LoadBalancingPolicy.

View Source
var (
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type_name = map[int32]string{
		0: "UNKNOWN",
		1: "EDS",
		2: "LOGICAL_DNS",
	}
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type_value = map[string]int32{
		"UNKNOWN":     0,
		"EDS":         1,
		"LOGICAL_DNS": 2,
	}
)

Enum value maps for XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type.

View Source
var File_grpc_service_config_service_config_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type CdsConfig

type CdsConfig struct {
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"` // Required.
	// If true, a dynamic subscription will be started for the cluster.
	IsDynamic bool `protobuf:"varint,2,opt,name=is_dynamic,json=isDynamic,proto3" json:"is_dynamic,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the cds LB policy.

func (*CdsConfig) Descriptor deprecated

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

Deprecated: Use CdsConfig.ProtoReflect.Descriptor instead.

func (*CdsConfig) GetCluster

func (x *CdsConfig) GetCluster() string

func (*CdsConfig) GetIsDynamic

func (x *CdsConfig) GetIsDynamic() bool

func (*CdsConfig) ProtoMessage

func (*CdsConfig) ProtoMessage()

func (*CdsConfig) ProtoReflect

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

func (*CdsConfig) Reset

func (x *CdsConfig) Reset()

func (*CdsConfig) String

func (x *CdsConfig) String() string

type EdsLoadBalancingPolicyConfig

type EdsLoadBalancingPolicyConfig struct {

	// Cluster name.  Required.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// Server to send load reports to.
	// If unset, no load reporting is done.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// Locality-picking policy.
	// This policy's config is expected to be in the format used
	// by the weighted_target policy.  Note that the config should include
	// an empty value for the "targets" field; that empty value will be
	// replaced by one that is dynamically generated based on the EDS data.
	// Optional; defaults to "weighted_target".
	LocalityPickingPolicy []*LoadBalancingConfig `` /* 126-byte string literal not displayed */
	// Endpoint-picking policy.
	// This will be configured as the policy for each child in the
	// locality-policy's config.
	// Optional; defaults to "round_robin".
	EndpointPickingPolicy []*LoadBalancingConfig `` /* 126-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for eds LB policy. Deprecated.

func (*EdsLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use EdsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*EdsLoadBalancingPolicyConfig) GetCluster

func (x *EdsLoadBalancingPolicyConfig) GetCluster() string

func (*EdsLoadBalancingPolicyConfig) GetEdsServiceName

func (x *EdsLoadBalancingPolicyConfig) GetEdsServiceName() string

func (*EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy

func (x *EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy() []*LoadBalancingConfig

func (*EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy

func (x *EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy() []*LoadBalancingConfig

func (*EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName

func (x *EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue

func (*EdsLoadBalancingPolicyConfig) ProtoMessage

func (*EdsLoadBalancingPolicyConfig) ProtoMessage()

func (*EdsLoadBalancingPolicyConfig) ProtoReflect

func (*EdsLoadBalancingPolicyConfig) Reset

func (x *EdsLoadBalancingPolicyConfig) Reset()

func (*EdsLoadBalancingPolicyConfig) String

type GrpcLbConfig

type GrpcLbConfig struct {

	// Optional.  What LB policy to use for routing between the backend
	// addresses.  If unset, defaults to round_robin.
	// Currently, the only supported values are round_robin and pick_first.
	// Note that this will be used both in balancer mode and in fallback mode.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// Optional.  If specified, overrides the name of the service to be sent to
	// the balancer.
	ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// Optional. The timeout in seconds for receiving the server list from the LB
	// server. Defaults to 10s.
	InitialFallbackTimeout *durationpb.Duration `` /* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for grpclb LB policy.

func (*GrpcLbConfig) Descriptor deprecated

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

Deprecated: Use GrpcLbConfig.ProtoReflect.Descriptor instead.

func (*GrpcLbConfig) GetChildPolicy

func (x *GrpcLbConfig) GetChildPolicy() []*LoadBalancingConfig

func (*GrpcLbConfig) GetInitialFallbackTimeout

func (x *GrpcLbConfig) GetInitialFallbackTimeout() *durationpb.Duration

func (*GrpcLbConfig) GetServiceName

func (x *GrpcLbConfig) GetServiceName() string

func (*GrpcLbConfig) ProtoMessage

func (*GrpcLbConfig) ProtoMessage()

func (*GrpcLbConfig) ProtoReflect

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

func (*GrpcLbConfig) Reset

func (x *GrpcLbConfig) Reset()

func (*GrpcLbConfig) String

func (x *GrpcLbConfig) String() string

type LeastRequestLocalityLoadBalancingPolicyConfig

type LeastRequestLocalityLoadBalancingPolicyConfig struct {
	ChoiceCount uint64 `protobuf:"varint,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the least_request LB policy.

func (*LeastRequestLocalityLoadBalancingPolicyConfig) Descriptor deprecated

Deprecated: Use LeastRequestLocalityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*LeastRequestLocalityLoadBalancingPolicyConfig) GetChoiceCount

func (*LeastRequestLocalityLoadBalancingPolicyConfig) ProtoMessage

func (*LeastRequestLocalityLoadBalancingPolicyConfig) ProtoReflect

func (*LeastRequestLocalityLoadBalancingPolicyConfig) Reset

func (*LeastRequestLocalityLoadBalancingPolicyConfig) String

type LoadBalancingConfig

type LoadBalancingConfig struct {

	// Exactly one LB policy may be configured.
	//
	// Types that are assignable to Policy:
	//
	//	*LoadBalancingConfig_PickFirst
	//	*LoadBalancingConfig_RoundRobin
	//	*LoadBalancingConfig_WeightedRoundRobin
	//	*LoadBalancingConfig_Grpclb
	//	*LoadBalancingConfig_PriorityExperimental
	//	*LoadBalancingConfig_WeightedTargetExperimental
	//	*LoadBalancingConfig_OutlierDetection
	//	*LoadBalancingConfig_Rls
	//	*LoadBalancingConfig_XdsClusterManagerExperimental
	//	*LoadBalancingConfig_CdsExperimental
	//	*LoadBalancingConfig_XdsClusterImplExperimental
	//	*LoadBalancingConfig_OverrideHostExperimental
	//	*LoadBalancingConfig_XdsWrrLocalityExperimental
	//	*LoadBalancingConfig_RingHashExperimental
	//	*LoadBalancingConfig_LeastRequestExperimental
	//	*LoadBalancingConfig_XdsClusterResolverExperimental
	//	*LoadBalancingConfig_LrsExperimental
	//	*LoadBalancingConfig_EdsExperimental
	//	*LoadBalancingConfig_Xds
	//	*LoadBalancingConfig_XdsExperimental
	Policy isLoadBalancingConfig_Policy `protobuf_oneof:"policy"`
	// contains filtered or unexported fields
}

Selects LB policy and provides corresponding configuration.

In general, all instances of this field should be repeated. Clients will iterate through the list in order and stop at the first policy that they support. This allows the service config to specify custom policies that may not be known to all clients.

  • If the config for the first supported policy is invalid, the whole service config is invalid.
  • If the list doesn't contain any supported policy, the whole service config is invalid.

func (*LoadBalancingConfig) Descriptor deprecated

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

Deprecated: Use LoadBalancingConfig.ProtoReflect.Descriptor instead.

func (*LoadBalancingConfig) GetCdsExperimental

func (x *LoadBalancingConfig) GetCdsExperimental() *CdsConfig

func (*LoadBalancingConfig) GetEdsExperimental deprecated

func (x *LoadBalancingConfig) GetEdsExperimental() *EdsLoadBalancingPolicyConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetGrpclb

func (x *LoadBalancingConfig) GetGrpclb() *GrpcLbConfig

func (*LoadBalancingConfig) GetLeastRequestExperimental

func (x *LoadBalancingConfig) GetLeastRequestExperimental() *LeastRequestLocalityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetLrsExperimental deprecated

func (x *LoadBalancingConfig) GetLrsExperimental() *LrsLoadBalancingPolicyConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetOutlierDetection

func (x *LoadBalancingConfig) GetOutlierDetection() *OutlierDetectionLoadBalancingConfig

func (*LoadBalancingConfig) GetOverrideHostExperimental

func (x *LoadBalancingConfig) GetOverrideHostExperimental() *OverrideHostLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetPickFirst

func (x *LoadBalancingConfig) GetPickFirst() *PickFirstConfig

func (*LoadBalancingConfig) GetPolicy

func (m *LoadBalancingConfig) GetPolicy() isLoadBalancingConfig_Policy

func (*LoadBalancingConfig) GetPriorityExperimental

func (x *LoadBalancingConfig) GetPriorityExperimental() *PriorityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetRingHashExperimental

func (x *LoadBalancingConfig) GetRingHashExperimental() *RingHashLoadBalancingConfig

func (*LoadBalancingConfig) GetRls

func (*LoadBalancingConfig) GetRoundRobin

func (x *LoadBalancingConfig) GetRoundRobin() *RoundRobinConfig

func (*LoadBalancingConfig) GetWeightedRoundRobin

func (x *LoadBalancingConfig) GetWeightedRoundRobin() *WeightedRoundRobinLbConfig

func (*LoadBalancingConfig) GetWeightedTargetExperimental

func (x *LoadBalancingConfig) GetWeightedTargetExperimental() *WeightedTargetLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXds deprecated

func (x *LoadBalancingConfig) GetXds() *XdsConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetXdsClusterImplExperimental

func (x *LoadBalancingConfig) GetXdsClusterImplExperimental() *XdsClusterImplLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXdsClusterManagerExperimental

func (x *LoadBalancingConfig) GetXdsClusterManagerExperimental() *XdsClusterManagerLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXdsClusterResolverExperimental deprecated

func (x *LoadBalancingConfig) GetXdsClusterResolverExperimental() *XdsClusterResolverLoadBalancingPolicyConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetXdsExperimental deprecated

func (x *LoadBalancingConfig) GetXdsExperimental() *XdsConfig

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*LoadBalancingConfig) GetXdsWrrLocalityExperimental

func (x *LoadBalancingConfig) GetXdsWrrLocalityExperimental() *XdsWrrLocalityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) ProtoMessage

func (*LoadBalancingConfig) ProtoMessage()

func (*LoadBalancingConfig) ProtoReflect

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

func (*LoadBalancingConfig) Reset

func (x *LoadBalancingConfig) Reset()

func (*LoadBalancingConfig) String

func (x *LoadBalancingConfig) String() string

type LoadBalancingConfig_CdsExperimental

type LoadBalancingConfig_CdsExperimental struct {
	CdsExperimental *CdsConfig `protobuf:"bytes,6,opt,name=cds_experimental,proto3,oneof"`
}

type LoadBalancingConfig_EdsExperimental

type LoadBalancingConfig_EdsExperimental struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	EdsExperimental *EdsLoadBalancingPolicyConfig `protobuf:"bytes,7,opt,name=eds_experimental,proto3,oneof"`
}

type LoadBalancingConfig_Grpclb

type LoadBalancingConfig_Grpclb struct {
	// gRPC lookaside load balancing.
	// This will eventually be deprecated by the new xDS-based local
	// balancing policy.
	Grpclb *GrpcLbConfig `protobuf:"bytes,3,opt,name=grpclb,proto3,oneof"`
}

type LoadBalancingConfig_LeastRequestExperimental

type LoadBalancingConfig_LeastRequestExperimental struct {
	LeastRequestExperimental *LeastRequestLocalityLoadBalancingPolicyConfig `protobuf:"bytes,17,opt,name=least_request_experimental,proto3,oneof"`
}

type LoadBalancingConfig_LrsExperimental

type LoadBalancingConfig_LrsExperimental struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsExperimental *LrsLoadBalancingPolicyConfig `protobuf:"bytes,8,opt,name=lrs_experimental,proto3,oneof"`
}

type LoadBalancingConfig_OutlierDetection

type LoadBalancingConfig_OutlierDetection struct {
	OutlierDetection *OutlierDetectionLoadBalancingConfig `protobuf:"bytes,15,opt,name=outlier_detection,json=outlier_detection_experimental,proto3,oneof"`
}

type LoadBalancingConfig_OverrideHostExperimental

type LoadBalancingConfig_OverrideHostExperimental struct {
	OverrideHostExperimental *OverrideHostLoadBalancingPolicyConfig `protobuf:"bytes,18,opt,name=override_host_experimental,proto3,oneof"`
}

type LoadBalancingConfig_PickFirst

type LoadBalancingConfig_PickFirst struct {
	PickFirst *PickFirstConfig `protobuf:"bytes,4,opt,name=pick_first,proto3,oneof"`
}

type LoadBalancingConfig_PriorityExperimental

type LoadBalancingConfig_PriorityExperimental struct {
	PriorityExperimental *PriorityLoadBalancingPolicyConfig `protobuf:"bytes,9,opt,name=priority_experimental,proto3,oneof"`
}

type LoadBalancingConfig_RingHashExperimental

type LoadBalancingConfig_RingHashExperimental struct {
	RingHashExperimental *RingHashLoadBalancingConfig `protobuf:"bytes,13,opt,name=ring_hash_experimental,proto3,oneof"`
}

type LoadBalancingConfig_Rls

type LoadBalancingConfig_Rls struct {
	Rls *RlsLoadBalancingPolicyConfig `protobuf:"bytes,19,opt,name=rls,json=rls_experimental,proto3,oneof"`
}

type LoadBalancingConfig_RoundRobin

type LoadBalancingConfig_RoundRobin struct {
	RoundRobin *RoundRobinConfig `protobuf:"bytes,1,opt,name=round_robin,proto3,oneof"`
}

type LoadBalancingConfig_WeightedRoundRobin

type LoadBalancingConfig_WeightedRoundRobin struct {
	WeightedRoundRobin *WeightedRoundRobinLbConfig `protobuf:"bytes,20,opt,name=weighted_round_robin,proto3,oneof"`
}

type LoadBalancingConfig_WeightedTargetExperimental

type LoadBalancingConfig_WeightedTargetExperimental struct {
	WeightedTargetExperimental *WeightedTargetLoadBalancingPolicyConfig `protobuf:"bytes,10,opt,name=weighted_target_experimental,proto3,oneof"`
}

type LoadBalancingConfig_Xds

type LoadBalancingConfig_Xds struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	Xds *XdsConfig `protobuf:"bytes,2,opt,name=xds,proto3,oneof"`
}

type LoadBalancingConfig_XdsClusterImplExperimental

type LoadBalancingConfig_XdsClusterImplExperimental struct {
	XdsClusterImplExperimental *XdsClusterImplLoadBalancingPolicyConfig `protobuf:"bytes,12,opt,name=xds_cluster_impl_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsClusterManagerExperimental

type LoadBalancingConfig_XdsClusterManagerExperimental struct {
	// xDS-based load balancing.
	XdsClusterManagerExperimental *XdsClusterManagerLoadBalancingPolicyConfig `protobuf:"bytes,14,opt,name=xds_cluster_manager_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsClusterResolverExperimental

type LoadBalancingConfig_XdsClusterResolverExperimental struct {
	// Deprecated xDS-related policies.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	XdsClusterResolverExperimental *XdsClusterResolverLoadBalancingPolicyConfig `protobuf:"bytes,11,opt,name=xds_cluster_resolver_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsExperimental

type LoadBalancingConfig_XdsExperimental struct {
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	XdsExperimental *XdsConfig `protobuf:"bytes,5,opt,name=xds_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsWrrLocalityExperimental

type LoadBalancingConfig_XdsWrrLocalityExperimental struct {
	XdsWrrLocalityExperimental *XdsWrrLocalityLoadBalancingPolicyConfig `protobuf:"bytes,16,opt,name=xds_wrr_locality_experimental,proto3,oneof"`
}

type LrsLoadBalancingPolicyConfig

type LrsLoadBalancingPolicyConfig struct {

	// Cluster name.  Required.
	ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// Server to send load reports to.  Required.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	LrsLoadReportingServerName string                                 `` /* 145-byte string literal not displayed */
	Locality                   *LrsLoadBalancingPolicyConfig_Locality `protobuf:"bytes,4,opt,name=locality,proto3" json:"locality,omitempty"`
	// Endpoint-picking policy.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,5,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for lrs LB policy. Deprecated.

func (*LrsLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use LrsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*LrsLoadBalancingPolicyConfig) GetChildPolicy

func (x *LrsLoadBalancingPolicyConfig) GetChildPolicy() []*LoadBalancingConfig

func (*LrsLoadBalancingPolicyConfig) GetClusterName

func (x *LrsLoadBalancingPolicyConfig) GetClusterName() string

func (*LrsLoadBalancingPolicyConfig) GetEdsServiceName

func (x *LrsLoadBalancingPolicyConfig) GetEdsServiceName() string

func (*LrsLoadBalancingPolicyConfig) GetLocality

func (*LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName

func (x *LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() string

func (*LrsLoadBalancingPolicyConfig) ProtoMessage

func (*LrsLoadBalancingPolicyConfig) ProtoMessage()

func (*LrsLoadBalancingPolicyConfig) ProtoReflect

func (*LrsLoadBalancingPolicyConfig) Reset

func (x *LrsLoadBalancingPolicyConfig) Reset()

func (*LrsLoadBalancingPolicyConfig) String

type LrsLoadBalancingPolicyConfig_Locality

type LrsLoadBalancingPolicyConfig_Locality struct {
	Region  string `protobuf:"bytes,1,opt,name=region,proto3" json:"region,omitempty"`
	Zone    string `protobuf:"bytes,2,opt,name=zone,proto3" json:"zone,omitempty"`
	Subzone string `protobuf:"bytes,3,opt,name=subzone,proto3" json:"subzone,omitempty"`
	// contains filtered or unexported fields
}

The locality for which this policy will report load. Required.

func (*LrsLoadBalancingPolicyConfig_Locality) Descriptor deprecated

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

Deprecated: Use LrsLoadBalancingPolicyConfig_Locality.ProtoReflect.Descriptor instead.

func (*LrsLoadBalancingPolicyConfig_Locality) GetRegion

func (*LrsLoadBalancingPolicyConfig_Locality) GetSubzone

func (*LrsLoadBalancingPolicyConfig_Locality) GetZone

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage()

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoReflect

func (*LrsLoadBalancingPolicyConfig_Locality) Reset

func (*LrsLoadBalancingPolicyConfig_Locality) String

type MethodConfig

type MethodConfig struct {
	Name []*MethodConfig_Name `protobuf:"bytes,1,rep,name=name,proto3" json:"name,omitempty"`
	// Whether RPCs sent to this method should wait until the connection is
	// ready by default. If false, the RPC will abort immediately if there is
	// a transient failure connecting to the server. Otherwise, gRPC will
	// attempt to connect until the deadline is exceeded.
	//
	// The value specified via the gRPC client API will override the value
	// set here. However, note that setting the value in the client API will
	// also affect transient errors encountered during name resolution, which
	// cannot be caught by the value here, since the service config is
	// obtained by the gRPC client via name resolution.
	WaitForReady *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=wait_for_ready,json=waitForReady,proto3" json:"wait_for_ready,omitempty"`
	// The default timeout in seconds for RPCs sent to this method. This can be
	// overridden in code. If no reply is received in the specified amount of
	// time, the request is aborted and a DEADLINE_EXCEEDED error status
	// is returned to the caller.
	//
	// The actual deadline used will be the minimum of the value specified here
	// and the value set by the application via the gRPC client API.  If either
	// one is not set, then the other will be used.  If neither is set, then the
	// request has no deadline.
	Timeout *durationpb.Duration `protobuf:"bytes,3,opt,name=timeout,proto3" json:"timeout,omitempty"`
	// The maximum allowed payload size for an individual request or object in a
	// stream (client->server) in bytes. The size which is measured is the
	// serialized payload after per-message compression (but before stream
	// compression) in bytes. This applies both to streaming and non-streaming
	// requests.
	//
	// The actual value used is the minimum of the value specified here and the
	// value set by the application via the gRPC client API.  If either one is
	// not set, then the other will be used.  If neither is set, then the
	// built-in default is used.
	//
	// If a client attempts to send an object larger than this value, it will not
	// be sent and the client will see a ClientError.
	// Note that 0 is a valid value, meaning that the request message
	// must be empty.
	MaxRequestMessageBytes *wrapperspb.UInt32Value `` /* 131-byte string literal not displayed */
	// The maximum allowed payload size for an individual response or object in a
	// stream (server->client) in bytes. The size which is measured is the
	// serialized payload after per-message compression (but before stream
	// compression) in bytes. This applies both to streaming and non-streaming
	// requests.
	//
	// The actual value used is the minimum of the value specified here and the
	// value set by the application via the gRPC client API.  If either one is
	// not set, then the other will be used.  If neither is set, then the
	// built-in default is used.
	//
	// If a server attempts to send an object larger than this value, it will not
	// be sent, and a ServerError will be sent to the client instead.
	// Note that 0 is a valid value, meaning that the response message
	// must be empty.
	MaxResponseMessageBytes *wrapperspb.UInt32Value `` /* 134-byte string literal not displayed */
	// Only one of retry_policy or hedging_policy may be set. If neither is set,
	// RPCs will not be retried or hedged.
	//
	// Types that are assignable to RetryOrHedgingPolicy:
	//
	//	*MethodConfig_RetryPolicy_
	//	*MethodConfig_HedgingPolicy_
	RetryOrHedgingPolicy isMethodConfig_RetryOrHedgingPolicy `protobuf_oneof:"retry_or_hedging_policy"`
	// contains filtered or unexported fields
}

Configuration for a method.

func (*MethodConfig) Descriptor deprecated

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

Deprecated: Use MethodConfig.ProtoReflect.Descriptor instead.

func (*MethodConfig) GetHedgingPolicy

func (x *MethodConfig) GetHedgingPolicy() *MethodConfig_HedgingPolicy

func (*MethodConfig) GetMaxRequestMessageBytes

func (x *MethodConfig) GetMaxRequestMessageBytes() *wrapperspb.UInt32Value

func (*MethodConfig) GetMaxResponseMessageBytes

func (x *MethodConfig) GetMaxResponseMessageBytes() *wrapperspb.UInt32Value

func (*MethodConfig) GetName

func (x *MethodConfig) GetName() []*MethodConfig_Name

func (*MethodConfig) GetRetryOrHedgingPolicy

func (m *MethodConfig) GetRetryOrHedgingPolicy() isMethodConfig_RetryOrHedgingPolicy

func (*MethodConfig) GetRetryPolicy

func (x *MethodConfig) GetRetryPolicy() *MethodConfig_RetryPolicy

func (*MethodConfig) GetTimeout

func (x *MethodConfig) GetTimeout() *durationpb.Duration

func (*MethodConfig) GetWaitForReady

func (x *MethodConfig) GetWaitForReady() *wrapperspb.BoolValue

func (*MethodConfig) ProtoMessage

func (*MethodConfig) ProtoMessage()

func (*MethodConfig) ProtoReflect

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

func (*MethodConfig) Reset

func (x *MethodConfig) Reset()

func (*MethodConfig) String

func (x *MethodConfig) String() string

type MethodConfig_HedgingPolicy

type MethodConfig_HedgingPolicy struct {

	// The hedging policy will send up to max_requests RPCs.
	// This number represents the total number of all attempts, including
	// the original attempt.
	//
	// This field is required and must be greater than 1.
	// Any value greater than 5 will be treated as if it were 5.
	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
	// The first RPC will be sent immediately, but the max_requests-1 subsequent
	// hedged RPCs will be sent at intervals of every hedging_delay. Set this
	// to 0 to immediately send all max_requests RPCs.
	HedgingDelay *durationpb.Duration `protobuf:"bytes,2,opt,name=hedging_delay,json=hedgingDelay,proto3" json:"hedging_delay,omitempty"`
	// The set of status codes which indicate other hedged RPCs may still
	// succeed. If a non-fatal status code is returned by the server, hedged
	// RPCs will continue. Otherwise, outstanding requests will be canceled and
	// the error returned to the client application layer.
	//
	// This field is optional.
	NonFatalStatusCodes []code.Code `` /* 151-byte string literal not displayed */
	// contains filtered or unexported fields
}

The hedging policy for outgoing RPCs. Hedged RPCs may execute more than once on the server, so only idempotent methods should specify a hedging policy.

func (*MethodConfig_HedgingPolicy) Descriptor deprecated

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

Deprecated: Use MethodConfig_HedgingPolicy.ProtoReflect.Descriptor instead.

func (*MethodConfig_HedgingPolicy) GetHedgingDelay

func (x *MethodConfig_HedgingPolicy) GetHedgingDelay() *durationpb.Duration

func (*MethodConfig_HedgingPolicy) GetMaxAttempts

func (x *MethodConfig_HedgingPolicy) GetMaxAttempts() uint32

func (*MethodConfig_HedgingPolicy) GetNonFatalStatusCodes

func (x *MethodConfig_HedgingPolicy) GetNonFatalStatusCodes() []code.Code

func (*MethodConfig_HedgingPolicy) ProtoMessage

func (*MethodConfig_HedgingPolicy) ProtoMessage()

func (*MethodConfig_HedgingPolicy) ProtoReflect

func (*MethodConfig_HedgingPolicy) Reset

func (x *MethodConfig_HedgingPolicy) Reset()

func (*MethodConfig_HedgingPolicy) String

func (x *MethodConfig_HedgingPolicy) String() string

type MethodConfig_HedgingPolicy_

type MethodConfig_HedgingPolicy_ struct {
	HedgingPolicy *MethodConfig_HedgingPolicy `protobuf:"bytes,7,opt,name=hedging_policy,json=hedgingPolicy,proto3,oneof"`
}

type MethodConfig_Name

type MethodConfig_Name struct {
	Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` // Required. Includes proto package name.
	Method  string `protobuf:"bytes,2,opt,name=method,proto3" json:"method,omitempty"`
	// contains filtered or unexported fields
}

The names of the methods to which this configuration applies.

  • MethodConfig without names (empty list) will be skipped.
  • Each name entry must be unique across the entire ServiceConfig.
  • If the 'method' field is empty, this MethodConfig specifies the defaults for all methods for the specified service.
  • If the 'service' field is empty, the 'method' field must be empty, and this MethodConfig specifies the default for all methods (it's the default config).

When determining which MethodConfig to use for a given RPC, the most specific match wins. For example, let's say that the service config contains the following MethodConfig entries:

method_config { name { } ... } method_config { name { service: "MyService" } ... } method_config { name { service: "MyService" method: "Foo" } ... }

MyService/Foo will use the third entry, because it exactly matches the service and method name. MyService/Bar will use the second entry, because it provides the default for all methods of MyService. AnotherService/Baz will use the first entry, because it doesn't match the other two.

In JSON representation, value "", value `null`, and not present are the same. The following are the same Name: - { "service": "s" } - { "service": "s", "method": null } - { "service": "s", "method": "" }

func (*MethodConfig_Name) Descriptor deprecated

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

Deprecated: Use MethodConfig_Name.ProtoReflect.Descriptor instead.

func (*MethodConfig_Name) GetMethod

func (x *MethodConfig_Name) GetMethod() string

func (*MethodConfig_Name) GetService

func (x *MethodConfig_Name) GetService() string

func (*MethodConfig_Name) ProtoMessage

func (*MethodConfig_Name) ProtoMessage()

func (*MethodConfig_Name) ProtoReflect

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

func (*MethodConfig_Name) Reset

func (x *MethodConfig_Name) Reset()

func (*MethodConfig_Name) String

func (x *MethodConfig_Name) String() string

type MethodConfig_RetryPolicy

type MethodConfig_RetryPolicy struct {

	// The maximum number of RPC attempts, including the original attempt.
	//
	// This field is required and must be greater than 1.
	// Any value greater than 5 will be treated as if it were 5.
	MaxAttempts uint32 `protobuf:"varint,1,opt,name=max_attempts,json=maxAttempts,proto3" json:"max_attempts,omitempty"`
	// Exponential backoff parameters. The initial retry attempt will occur at
	// random(0, initial_backoff). In general, the nth attempt will occur at
	// random(0,
	//
	//	min(initial_backoff*backoff_multiplier**(n-1), max_backoff)).
	//
	// Required. Must be greater than zero.
	InitialBackoff *durationpb.Duration `protobuf:"bytes,2,opt,name=initial_backoff,json=initialBackoff,proto3" json:"initial_backoff,omitempty"`
	// Required. Must be greater than zero.
	MaxBackoff        *durationpb.Duration `protobuf:"bytes,3,opt,name=max_backoff,json=maxBackoff,proto3" json:"max_backoff,omitempty"`
	BackoffMultiplier float32              `protobuf:"fixed32,4,opt,name=backoff_multiplier,json=backoffMultiplier,proto3" json:"backoff_multiplier,omitempty"` // Required. Must be greater than zero.
	// The set of status codes which may be retried.
	//
	// This field is required and must be non-empty.
	RetryableStatusCodes []code.Code `` /* 152-byte string literal not displayed */
	// contains filtered or unexported fields
}

The retry policy for outgoing RPCs.

func (*MethodConfig_RetryPolicy) Descriptor deprecated

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

Deprecated: Use MethodConfig_RetryPolicy.ProtoReflect.Descriptor instead.

func (*MethodConfig_RetryPolicy) GetBackoffMultiplier

func (x *MethodConfig_RetryPolicy) GetBackoffMultiplier() float32

func (*MethodConfig_RetryPolicy) GetInitialBackoff

func (x *MethodConfig_RetryPolicy) GetInitialBackoff() *durationpb.Duration

func (*MethodConfig_RetryPolicy) GetMaxAttempts

func (x *MethodConfig_RetryPolicy) GetMaxAttempts() uint32

func (*MethodConfig_RetryPolicy) GetMaxBackoff

func (x *MethodConfig_RetryPolicy) GetMaxBackoff() *durationpb.Duration

func (*MethodConfig_RetryPolicy) GetRetryableStatusCodes

func (x *MethodConfig_RetryPolicy) GetRetryableStatusCodes() []code.Code

func (*MethodConfig_RetryPolicy) ProtoMessage

func (*MethodConfig_RetryPolicy) ProtoMessage()

func (*MethodConfig_RetryPolicy) ProtoReflect

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

func (*MethodConfig_RetryPolicy) Reset

func (x *MethodConfig_RetryPolicy) Reset()

func (*MethodConfig_RetryPolicy) String

func (x *MethodConfig_RetryPolicy) String() string

type MethodConfig_RetryPolicy_

type MethodConfig_RetryPolicy_ struct {
	RetryPolicy *MethodConfig_RetryPolicy `protobuf:"bytes,6,opt,name=retry_policy,json=retryPolicy,proto3,oneof"`
}

type OutlierDetectionLoadBalancingConfig

type OutlierDetectionLoadBalancingConfig struct {

	// The time interval between ejection analysis sweeps. This can result in
	// both new ejections as well as addresses being returned to service. Defaults
	// to 10000ms or 10s.
	Interval *durationpb.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"`
	// The base time that as address is ejected for. The real time is equal to the
	// base time multiplied by the number of times the address has been ejected.
	// Defaults to 30000ms or 30s.
	BaseEjectionTime *durationpb.Duration `protobuf:"bytes,2,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
	// The maximum time that an address is ejected for. If not specified, the default value (300000ms or 300s) or
	// the base_ejection_time value is applied, whatever is larger.
	MaxEjectionTime *durationpb.Duration `protobuf:"bytes,3,opt,name=max_ejection_time,json=maxEjectionTime,proto3" json:"max_ejection_time,omitempty"`
	// The maximum % of an address list that can be ejected due to outlier
	// detection. Defaults to 10% but will eject at least one address regardless of the value.
	MaxEjectionPercent *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
	// If set, success rate ejections will be performed
	SuccessRateEjection *OutlierDetectionLoadBalancingConfig_SuccessRateEjection `protobuf:"bytes,5,opt,name=success_rate_ejection,json=successRateEjection,proto3" json:"success_rate_ejection,omitempty"`
	// If set, failure rate ejections will be performed
	FailurePercentageEjection *OutlierDetectionLoadBalancingConfig_FailurePercentageEjection `` /* 138-byte string literal not displayed */
	// The config for the child policy
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,13,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for outlier_detection LB policy

func (*OutlierDetectionLoadBalancingConfig) Descriptor deprecated

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

Deprecated: Use OutlierDetectionLoadBalancingConfig.ProtoReflect.Descriptor instead.

func (*OutlierDetectionLoadBalancingConfig) GetBaseEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) GetBaseEjectionTime() *durationpb.Duration

func (*OutlierDetectionLoadBalancingConfig) GetChildPolicy

func (*OutlierDetectionLoadBalancingConfig) GetFailurePercentageEjection

func (*OutlierDetectionLoadBalancingConfig) GetInterval

func (*OutlierDetectionLoadBalancingConfig) GetMaxEjectionPercent

func (x *OutlierDetectionLoadBalancingConfig) GetMaxEjectionPercent() *wrapperspb.UInt32Value

func (*OutlierDetectionLoadBalancingConfig) GetMaxEjectionTime

func (x *OutlierDetectionLoadBalancingConfig) GetMaxEjectionTime() *durationpb.Duration

func (*OutlierDetectionLoadBalancingConfig) GetSuccessRateEjection

func (*OutlierDetectionLoadBalancingConfig) ProtoMessage

func (*OutlierDetectionLoadBalancingConfig) ProtoMessage()

func (*OutlierDetectionLoadBalancingConfig) ProtoReflect

func (*OutlierDetectionLoadBalancingConfig) Reset

func (*OutlierDetectionLoadBalancingConfig) String

type OutlierDetectionLoadBalancingConfig_FailurePercentageEjection

type OutlierDetectionLoadBalancingConfig_FailurePercentageEjection struct {

	// The failure percentage to use when determining failure percentage-based outlier detection. If
	// the failure percentage of a given address is greater than or equal to this value, it will be
	// ejected. Defaults to 85.
	Threshold *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=threshold,proto3" json:"threshold,omitempty"`
	// The % chance that an address will be actually ejected when an outlier status is detected through
	// failure percentage statistics. This setting can be used to disable ejection or to ramp it up
	// slowly. Defaults to 100.
	EnforcementPercentage *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=enforcement_percentage,json=enforcementPercentage,proto3" json:"enforcement_percentage,omitempty"`
	// The minimum number of addresses in order to perform failure percentage-based ejection.
	// If the total number of addresses is less than this value, failure percentage-based
	// ejection will not be performed. Defaults to 5.
	MinimumHosts *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=minimum_hosts,json=minimumHosts,proto3" json:"minimum_hosts,omitempty"`
	// The minimum number of total requests that must be collected in one interval (as defined by the
	// interval duration above) to perform failure percentage-based ejection for this address. If the
	// volume is lower than this setting, failure percentage-based ejection will not be performed for
	// this host. Defaults to 50.
	RequestVolume *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=request_volume,json=requestVolume,proto3" json:"request_volume,omitempty"`
	// contains filtered or unexported fields
}

Parameters for the failure percentage algorithm. This algorithm ejects individual endpoints whose failure rate is greater than some threshold, independently of any other endpoint.

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) Descriptor deprecated

Deprecated: Use OutlierDetectionLoadBalancingConfig_FailurePercentageEjection.ProtoReflect.Descriptor instead.

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetEnforcementPercentage

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetRequestVolume

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetThreshold

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ProtoMessage

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ProtoReflect

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) Reset

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) String

type OutlierDetectionLoadBalancingConfig_SuccessRateEjection

type OutlierDetectionLoadBalancingConfig_SuccessRateEjection struct {

	// This factor is used to determine the ejection threshold for success rate
	// outlier ejection. The ejection threshold is the difference between the
	// mean success rate, and the product of this factor and the standard
	// deviation of the mean success rate: mean - (stdev *
	// success_rate_stdev_factor). This factor is divided by a thousand to get a
	// double. That is, if the desired factor is 1.9, the runtime value should
	// be 1900. Defaults to 1900.
	StdevFactor *wrapperspb.UInt32Value `protobuf:"bytes,1,opt,name=stdev_factor,json=stdevFactor,proto3" json:"stdev_factor,omitempty"`
	// The % chance that an address will be actually ejected when an outlier status
	// is detected through success rate statistics. This setting can be used to
	// disable ejection or to ramp it up slowly. Defaults to 100.
	EnforcementPercentage *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=enforcement_percentage,json=enforcementPercentage,proto3" json:"enforcement_percentage,omitempty"`
	// The number of addresses that must have enough request volume to
	// detect success rate outliers. If the number of addresses is less than this
	// setting, outlier detection via success rate statistics is not performed
	// for any addresses. Defaults to 5.
	MinimumHosts *wrapperspb.UInt32Value `protobuf:"bytes,3,opt,name=minimum_hosts,json=minimumHosts,proto3" json:"minimum_hosts,omitempty"`
	// The minimum number of total requests that must be collected in one
	// interval (as defined by the interval duration above) to include this address
	// in success rate based outlier detection. If the volume is lower than this
	// setting, outlier detection via success rate statistics is not performed
	// for that address. Defaults to 100.
	RequestVolume *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=request_volume,json=requestVolume,proto3" json:"request_volume,omitempty"`
	// contains filtered or unexported fields
}

Parameters for the success rate ejection algorithm. This algorithm monitors the request success rate for all endpoints and ejects individual endpoints whose success rates are statistical outliers.

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) Descriptor deprecated

Deprecated: Use OutlierDetectionLoadBalancingConfig_SuccessRateEjection.ProtoReflect.Descriptor instead.

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetEnforcementPercentage

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetMinimumHosts

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetRequestVolume

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetStdevFactor

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ProtoMessage

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ProtoReflect

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) Reset

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) String

type OverrideHostLoadBalancingPolicyConfig

type OverrideHostLoadBalancingPolicyConfig struct {
	ClusterName string                 `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// valid health status for hosts that are considered when using
	// xds_override_host_experimental policy.
	// Default is [UNKNOWN, HEALTHY]
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	OverrideHostStatus []OverrideHostLoadBalancingPolicyConfig_HealthStatus `` /* 201-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for the xds_override_host LB policy.

func (*OverrideHostLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use OverrideHostLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*OverrideHostLoadBalancingPolicyConfig) GetChildPolicy

func (*OverrideHostLoadBalancingPolicyConfig) GetClusterName

func (x *OverrideHostLoadBalancingPolicyConfig) GetClusterName() string

func (*OverrideHostLoadBalancingPolicyConfig) GetOverrideHostStatus deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*OverrideHostLoadBalancingPolicyConfig) ProtoMessage

func (*OverrideHostLoadBalancingPolicyConfig) ProtoMessage()

func (*OverrideHostLoadBalancingPolicyConfig) ProtoReflect

func (*OverrideHostLoadBalancingPolicyConfig) Reset

func (*OverrideHostLoadBalancingPolicyConfig) String

type OverrideHostLoadBalancingPolicyConfig_HealthStatus

type OverrideHostLoadBalancingPolicyConfig_HealthStatus int32
const (
	OverrideHostLoadBalancingPolicyConfig_UNKNOWN  OverrideHostLoadBalancingPolicyConfig_HealthStatus = 0
	OverrideHostLoadBalancingPolicyConfig_HEALTHY  OverrideHostLoadBalancingPolicyConfig_HealthStatus = 1
	OverrideHostLoadBalancingPolicyConfig_DRAINING OverrideHostLoadBalancingPolicyConfig_HealthStatus = 3
)

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Descriptor

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Enum

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) EnumDescriptor deprecated

Deprecated: Use OverrideHostLoadBalancingPolicyConfig_HealthStatus.Descriptor instead.

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Number

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) String

func (OverrideHostLoadBalancingPolicyConfig_HealthStatus) Type

type PickFirstConfig

type PickFirstConfig struct {

	// If set to true, instructs the LB policy to randomly shuffle the list of
	// addresses received from the name resolver before attempting to connect to
	// them.
	ShuffleAddressList bool `protobuf:"varint,1,opt,name=shuffle_address_list,json=shuffleAddressList,proto3" json:"shuffle_address_list,omitempty"`
	// contains filtered or unexported fields
}

Configuration for pick_first LB policy.

func (*PickFirstConfig) Descriptor deprecated

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

Deprecated: Use PickFirstConfig.ProtoReflect.Descriptor instead.

func (*PickFirstConfig) GetShuffleAddressList

func (x *PickFirstConfig) GetShuffleAddressList() bool

func (*PickFirstConfig) ProtoMessage

func (*PickFirstConfig) ProtoMessage()

func (*PickFirstConfig) ProtoReflect

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

func (*PickFirstConfig) Reset

func (x *PickFirstConfig) Reset()

func (*PickFirstConfig) String

func (x *PickFirstConfig) String() string

type PriorityLoadBalancingPolicyConfig

type PriorityLoadBalancingPolicyConfig struct {
	Children map[string]*PriorityLoadBalancingPolicyConfig_Child `` /* 157-byte string literal not displayed */
	// A list of child names in decreasing priority order
	// (i.e., first element is the highest priority).
	Priorities []string `protobuf:"bytes,2,rep,name=priorities,proto3" json:"priorities,omitempty"`
	// contains filtered or unexported fields
}

Configuration for priority LB policy.

func (*PriorityLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use PriorityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*PriorityLoadBalancingPolicyConfig) GetChildren

func (*PriorityLoadBalancingPolicyConfig) GetPriorities

func (x *PriorityLoadBalancingPolicyConfig) GetPriorities() []string

func (*PriorityLoadBalancingPolicyConfig) ProtoMessage

func (*PriorityLoadBalancingPolicyConfig) ProtoMessage()

func (*PriorityLoadBalancingPolicyConfig) ProtoReflect

func (*PriorityLoadBalancingPolicyConfig) Reset

func (*PriorityLoadBalancingPolicyConfig) String

type PriorityLoadBalancingPolicyConfig_Child

type PriorityLoadBalancingPolicyConfig_Child struct {
	Config []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=config,proto3" json:"config,omitempty"`
	// If true, will ignore reresolution requests from this child.
	IgnoreReresolutionRequests bool `` /* 142-byte string literal not displayed */
	// contains filtered or unexported fields
}

A map of name to child policy configuration. The names are used to allow the priority policy to update existing child policies instead of creating new ones every time it receives a config update.

func (*PriorityLoadBalancingPolicyConfig_Child) Descriptor deprecated

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

Deprecated: Use PriorityLoadBalancingPolicyConfig_Child.ProtoReflect.Descriptor instead.

func (*PriorityLoadBalancingPolicyConfig_Child) GetConfig

func (*PriorityLoadBalancingPolicyConfig_Child) GetIgnoreReresolutionRequests

func (x *PriorityLoadBalancingPolicyConfig_Child) GetIgnoreReresolutionRequests() bool

func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage

func (*PriorityLoadBalancingPolicyConfig_Child) ProtoReflect

func (*PriorityLoadBalancingPolicyConfig_Child) Reset

func (*PriorityLoadBalancingPolicyConfig_Child) String

type RingHashLoadBalancingConfig

type RingHashLoadBalancingConfig struct {

	// A client-side option will cap these values to 4096.  If either of these
	// values are greater than the client-side cap, they will be treated
	// as the client-side cap value.
	MinRingSize uint64 `protobuf:"varint,1,opt,name=min_ring_size,json=minRingSize,proto3" json:"min_ring_size,omitempty"` // Optional, defaults to 1024, max 8M.
	MaxRingSize uint64 `protobuf:"varint,2,opt,name=max_ring_size,json=maxRingSize,proto3" json:"max_ring_size,omitempty"` // Optional, defaults to 4096, max 8M.
	// contains filtered or unexported fields
}

Configuration for ring_hash LB policy.

func (*RingHashLoadBalancingConfig) Descriptor deprecated

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

Deprecated: Use RingHashLoadBalancingConfig.ProtoReflect.Descriptor instead.

func (*RingHashLoadBalancingConfig) GetMaxRingSize

func (x *RingHashLoadBalancingConfig) GetMaxRingSize() uint64

func (*RingHashLoadBalancingConfig) GetMinRingSize

func (x *RingHashLoadBalancingConfig) GetMinRingSize() uint64

func (*RingHashLoadBalancingConfig) ProtoMessage

func (*RingHashLoadBalancingConfig) ProtoMessage()

func (*RingHashLoadBalancingConfig) ProtoReflect

func (*RingHashLoadBalancingConfig) Reset

func (x *RingHashLoadBalancingConfig) Reset()

func (*RingHashLoadBalancingConfig) String

func (x *RingHashLoadBalancingConfig) String() string

type RlsLoadBalancingPolicyConfig

type RlsLoadBalancingPolicyConfig struct {
	RouteLookupConfig *v1.RouteLookupConfig `protobuf:"bytes,1,opt,name=route_lookup_config,json=routeLookupConfig,proto3" json:"route_lookup_config,omitempty"`
	// Service config to use for the RLS channel.
	RouteLookupChannelServiceConfig *ServiceConfig         `` /* 160-byte string literal not displayed */
	ChildPolicy                     []*LoadBalancingConfig `protobuf:"bytes,3,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// Field name to add to child policy config to contain the target name.
	ChildPolicyConfigTargetFieldName string `` /* 165-byte string literal not displayed */
	// contains filtered or unexported fields
}

Config for RLS LB policy.

func (*RlsLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use RlsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*RlsLoadBalancingPolicyConfig) GetChildPolicy

func (x *RlsLoadBalancingPolicyConfig) GetChildPolicy() []*LoadBalancingConfig

func (*RlsLoadBalancingPolicyConfig) GetChildPolicyConfigTargetFieldName

func (x *RlsLoadBalancingPolicyConfig) GetChildPolicyConfigTargetFieldName() string

func (*RlsLoadBalancingPolicyConfig) GetRouteLookupChannelServiceConfig

func (x *RlsLoadBalancingPolicyConfig) GetRouteLookupChannelServiceConfig() *ServiceConfig

func (*RlsLoadBalancingPolicyConfig) GetRouteLookupConfig

func (x *RlsLoadBalancingPolicyConfig) GetRouteLookupConfig() *v1.RouteLookupConfig

func (*RlsLoadBalancingPolicyConfig) ProtoMessage

func (*RlsLoadBalancingPolicyConfig) ProtoMessage()

func (*RlsLoadBalancingPolicyConfig) ProtoReflect

func (*RlsLoadBalancingPolicyConfig) Reset

func (x *RlsLoadBalancingPolicyConfig) Reset()

func (*RlsLoadBalancingPolicyConfig) String

type RoundRobinConfig

type RoundRobinConfig struct {
	// contains filtered or unexported fields
}

Configuration for round_robin LB policy.

func (*RoundRobinConfig) Descriptor deprecated

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

Deprecated: Use RoundRobinConfig.ProtoReflect.Descriptor instead.

func (*RoundRobinConfig) ProtoMessage

func (*RoundRobinConfig) ProtoMessage()

func (*RoundRobinConfig) ProtoReflect

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

func (*RoundRobinConfig) Reset

func (x *RoundRobinConfig) Reset()

func (*RoundRobinConfig) String

func (x *RoundRobinConfig) String() string

type ServiceConfig

type ServiceConfig struct {

	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LoadBalancingPolicy ServiceConfig_LoadBalancingPolicy `` /* 180-byte string literal not displayed */
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support. If none
	// are supported, the service config is considered invalid.
	LoadBalancingConfig []*LoadBalancingConfig `protobuf:"bytes,4,rep,name=load_balancing_config,json=loadBalancingConfig,proto3" json:"load_balancing_config,omitempty"`
	// Per-method configuration.
	MethodConfig      []*MethodConfig                      `protobuf:"bytes,2,rep,name=method_config,json=methodConfig,proto3" json:"method_config,omitempty"`
	RetryThrottling   *ServiceConfig_RetryThrottlingPolicy `protobuf:"bytes,3,opt,name=retry_throttling,json=retryThrottling,proto3" json:"retry_throttling,omitempty"`
	HealthCheckConfig *ServiceConfig_HealthCheckConfig     `protobuf:"bytes,5,opt,name=health_check_config,json=healthCheckConfig,proto3" json:"health_check_config,omitempty"`
	// contains filtered or unexported fields
}

A ServiceConfig represents information about a service but is not specific to any name resolver.

func (*ServiceConfig) Descriptor deprecated

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

Deprecated: Use ServiceConfig.ProtoReflect.Descriptor instead.

func (*ServiceConfig) GetHealthCheckConfig

func (x *ServiceConfig) GetHealthCheckConfig() *ServiceConfig_HealthCheckConfig

func (*ServiceConfig) GetLoadBalancingConfig

func (x *ServiceConfig) GetLoadBalancingConfig() []*LoadBalancingConfig

func (*ServiceConfig) GetLoadBalancingPolicy deprecated

func (x *ServiceConfig) GetLoadBalancingPolicy() ServiceConfig_LoadBalancingPolicy

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*ServiceConfig) GetMethodConfig

func (x *ServiceConfig) GetMethodConfig() []*MethodConfig

func (*ServiceConfig) GetRetryThrottling

func (x *ServiceConfig) GetRetryThrottling() *ServiceConfig_RetryThrottlingPolicy

func (*ServiceConfig) ProtoMessage

func (*ServiceConfig) ProtoMessage()

func (*ServiceConfig) ProtoReflect

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

func (*ServiceConfig) Reset

func (x *ServiceConfig) Reset()

func (*ServiceConfig) String

func (x *ServiceConfig) String() string

type ServiceConfig_HealthCheckConfig

type ServiceConfig_HealthCheckConfig struct {

	// Service name to use in the health-checking request.
	ServiceName *wrapperspb.StringValue `protobuf:"bytes,1,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
	// contains filtered or unexported fields
}

func (*ServiceConfig_HealthCheckConfig) Descriptor deprecated

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

Deprecated: Use ServiceConfig_HealthCheckConfig.ProtoReflect.Descriptor instead.

func (*ServiceConfig_HealthCheckConfig) GetServiceName

func (*ServiceConfig_HealthCheckConfig) ProtoMessage

func (*ServiceConfig_HealthCheckConfig) ProtoMessage()

func (*ServiceConfig_HealthCheckConfig) ProtoReflect

func (*ServiceConfig_HealthCheckConfig) Reset

func (*ServiceConfig_HealthCheckConfig) String

type ServiceConfig_LoadBalancingPolicy

type ServiceConfig_LoadBalancingPolicy int32

Load balancing policy.

Note that load_balancing_policy is deprecated in favor of load_balancing_config; the former will be used only if the latter is unset.

If no LB policy is configured here, then the default is pick_first. If the policy name is set via the client API, that value overrides the value specified here.

If the deprecated load_balancing_policy field is used, note that if the resolver returns at least one balancer address (as opposed to backend addresses), gRPC will use grpclb (see https://github.com/grpc/grpc/blob/master/doc/load-balancing.md), regardless of what policy is configured here. However, if the resolver returns at least one backend address in addition to the balancer address(es), the client may fall back to the requested policy if it is unable to reach any of the grpclb load balancers.

const (
	ServiceConfig_UNSPECIFIED ServiceConfig_LoadBalancingPolicy = 0
	ServiceConfig_ROUND_ROBIN ServiceConfig_LoadBalancingPolicy = 1
)

func (ServiceConfig_LoadBalancingPolicy) Descriptor

func (ServiceConfig_LoadBalancingPolicy) Enum

func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor deprecated

func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor() ([]byte, []int)

Deprecated: Use ServiceConfig_LoadBalancingPolicy.Descriptor instead.

func (ServiceConfig_LoadBalancingPolicy) Number

func (ServiceConfig_LoadBalancingPolicy) String

func (ServiceConfig_LoadBalancingPolicy) Type

type ServiceConfig_RetryThrottlingPolicy

type ServiceConfig_RetryThrottlingPolicy struct {

	// The number of tokens starts at max_tokens. The token_count will always be
	// between 0 and max_tokens.
	//
	// This field is required and must be greater than zero.
	MaxTokens uint32 `protobuf:"varint,1,opt,name=max_tokens,json=maxTokens,proto3" json:"max_tokens,omitempty"`
	// The amount of tokens to add on each successful RPC. Typically this will
	// be some number between 0 and 1, e.g., 0.1.
	//
	// This field is required and must be greater than zero. Up to 3 decimal
	// places are supported.
	TokenRatio float32 `protobuf:"fixed32,2,opt,name=token_ratio,json=tokenRatio,proto3" json:"token_ratio,omitempty"`
	// contains filtered or unexported fields
}

If a RetryThrottlingPolicy is provided, gRPC will automatically throttle retry attempts and hedged RPCs when the client's ratio of failures to successes exceeds a threshold.

For each server name, the gRPC client will maintain a token_count which is initially set to max_tokens. Every outgoing RPC (regardless of service or method invoked) will change token_count as follows:

  • Every failed RPC will decrement the token_count by 1.
  • Every successful RPC will increment the token_count by token_ratio.

If token_count is less than or equal to max_tokens / 2, then RPCs will not be retried and hedged RPCs will not be sent.

func (*ServiceConfig_RetryThrottlingPolicy) Descriptor deprecated

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

Deprecated: Use ServiceConfig_RetryThrottlingPolicy.ProtoReflect.Descriptor instead.

func (*ServiceConfig_RetryThrottlingPolicy) GetMaxTokens

func (x *ServiceConfig_RetryThrottlingPolicy) GetMaxTokens() uint32

func (*ServiceConfig_RetryThrottlingPolicy) GetTokenRatio

func (x *ServiceConfig_RetryThrottlingPolicy) GetTokenRatio() float32

func (*ServiceConfig_RetryThrottlingPolicy) ProtoMessage

func (*ServiceConfig_RetryThrottlingPolicy) ProtoMessage()

func (*ServiceConfig_RetryThrottlingPolicy) ProtoReflect

func (*ServiceConfig_RetryThrottlingPolicy) Reset

func (*ServiceConfig_RetryThrottlingPolicy) String

type WeightedRoundRobinLbConfig

type WeightedRoundRobinLbConfig struct {

	// Whether to enable out-of-band utilization reporting collection from
	// the endpoints.  By default, per-request utilization reporting is used.
	EnableOobLoadReport *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=enable_oob_load_report,json=enableOobLoadReport,proto3" json:"enable_oob_load_report,omitempty"`
	// Load reporting interval to request from the server.  Note that the
	// server may not provide reports as frequently as the client requests.
	// Used only when enable_oob_load_report is true.  Default is 10 seconds.
	OobReportingPeriod *durationpb.Duration `protobuf:"bytes,2,opt,name=oob_reporting_period,json=oobReportingPeriod,proto3" json:"oob_reporting_period,omitempty"`
	// A given endpoint must report load metrics continuously for at least
	// this long before the endpoint weight will be used.  This avoids
	// churn when the set of endpoint addresses changes.  Takes effect
	// both immediately after we establish a connection to an endpoint and
	// after weight_expiration_period has caused us to stop using the most
	// recent load metrics.  Default is 10 seconds.
	BlackoutPeriod *durationpb.Duration `protobuf:"bytes,3,opt,name=blackout_period,json=blackoutPeriod,proto3" json:"blackout_period,omitempty"`
	// If a given endpoint has not reported load metrics in this long,
	// then we stop using the reported weight.  This ensures that we do
	// not continue to use very stale weights.  Once we stop using a stale
	// value, if we later start seeing fresh reports again, the
	// blackout_period applies.  Defaults to 3 minutes.
	WeightExpirationPeriod *durationpb.Duration `` /* 129-byte string literal not displayed */
	// How often endpoint weights are recalculated. Values less than 100ms are
	// capped at 100ms. Default is 1 second.
	WeightUpdatePeriod *durationpb.Duration `protobuf:"bytes,5,opt,name=weight_update_period,json=weightUpdatePeriod,proto3" json:"weight_update_period,omitempty"`
	// The multiplier used to adjust endpoint weights with the error rate
	// calculated as eps/qps. Configuration is rejected if this value is negative.
	// Default is 1.0.
	ErrorUtilizationPenalty *wrapperspb.FloatValue `` /* 132-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for weighted_round_robin LB policy.

func (*WeightedRoundRobinLbConfig) Descriptor deprecated

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

Deprecated: Use WeightedRoundRobinLbConfig.ProtoReflect.Descriptor instead.

func (*WeightedRoundRobinLbConfig) GetBlackoutPeriod

func (x *WeightedRoundRobinLbConfig) GetBlackoutPeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) GetEnableOobLoadReport

func (x *WeightedRoundRobinLbConfig) GetEnableOobLoadReport() *wrapperspb.BoolValue

func (*WeightedRoundRobinLbConfig) GetErrorUtilizationPenalty

func (x *WeightedRoundRobinLbConfig) GetErrorUtilizationPenalty() *wrapperspb.FloatValue

func (*WeightedRoundRobinLbConfig) GetOobReportingPeriod

func (x *WeightedRoundRobinLbConfig) GetOobReportingPeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) GetWeightExpirationPeriod

func (x *WeightedRoundRobinLbConfig) GetWeightExpirationPeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) GetWeightUpdatePeriod

func (x *WeightedRoundRobinLbConfig) GetWeightUpdatePeriod() *durationpb.Duration

func (*WeightedRoundRobinLbConfig) ProtoMessage

func (*WeightedRoundRobinLbConfig) ProtoMessage()

func (*WeightedRoundRobinLbConfig) ProtoReflect

func (*WeightedRoundRobinLbConfig) Reset

func (x *WeightedRoundRobinLbConfig) Reset()

func (*WeightedRoundRobinLbConfig) String

func (x *WeightedRoundRobinLbConfig) String() string

type WeightedTargetLoadBalancingPolicyConfig

type WeightedTargetLoadBalancingPolicyConfig struct {
	Targets map[string]*WeightedTargetLoadBalancingPolicyConfig_Target `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for weighted_target LB policy.

func (*WeightedTargetLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use WeightedTargetLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*WeightedTargetLoadBalancingPolicyConfig) GetTargets

func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage

func (*WeightedTargetLoadBalancingPolicyConfig) ProtoReflect

func (*WeightedTargetLoadBalancingPolicyConfig) Reset

func (*WeightedTargetLoadBalancingPolicyConfig) String

type WeightedTargetLoadBalancingPolicyConfig_Target

type WeightedTargetLoadBalancingPolicyConfig_Target struct {
	Weight      uint32                 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

func (*WeightedTargetLoadBalancingPolicyConfig_Target) Descriptor deprecated

Deprecated: Use WeightedTargetLoadBalancingPolicyConfig_Target.ProtoReflect.Descriptor instead.

func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy

func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight

func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage

func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoReflect

func (*WeightedTargetLoadBalancingPolicyConfig_Target) Reset

func (*WeightedTargetLoadBalancingPolicyConfig_Target) String

type XdsClusterImplLoadBalancingPolicyConfig

type XdsClusterImplLoadBalancingPolicyConfig struct {

	// Cluster name.  Required.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// Child policy.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,6,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// EDS service name.
	// Not set if cluster is not an EDS cluster or if it does not
	// specify an EDS service name.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	EdsServiceName string `protobuf:"bytes,2,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// Server to send load reports to.
	// If unset, no load reporting is done.
	// If set to empty string, load reporting will be sent to the same
	// server as we are getting xds data from.
	// DEPRECATED: Use new lrs_load_reporting_server field instead.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// Supercedes lrs_load_reporting_server_name field.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServer *XdsServer `` /* 131-byte string literal not displayed */
	// Maximum number of outstanding requests can be made to the upstream cluster.
	// Default is 1024.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	MaxConcurrentRequests *wrapperspb.UInt32Value `` /* 126-byte string literal not displayed */
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	DropCategories []*XdsClusterImplLoadBalancingPolicyConfig_DropCategory `protobuf:"bytes,5,rep,name=drop_categories,json=dropCategories,proto3" json:"drop_categories,omitempty"`
	// Telemetry labels associated with this cluster
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	TelemetryLabels map[string]string `` /* 194-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for xds_cluster_impl LB policy.

func (*XdsClusterImplLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use XdsClusterImplLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetChildPolicy

func (*XdsClusterImplLoadBalancingPolicyConfig) GetCluster

func (*XdsClusterImplLoadBalancingPolicyConfig) GetDropCategories deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetEdsServiceName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetEdsServiceName() string

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServer deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServer() *XdsServer

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServerName deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetMaxConcurrentRequests deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetMaxConcurrentRequests() *wrapperspb.UInt32Value

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetTelemetryLabels deprecated

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetTelemetryLabels() map[string]string

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterImplLoadBalancingPolicyConfig) ProtoMessage

func (*XdsClusterImplLoadBalancingPolicyConfig) ProtoReflect

func (*XdsClusterImplLoadBalancingPolicyConfig) Reset

func (*XdsClusterImplLoadBalancingPolicyConfig) String

type XdsClusterImplLoadBalancingPolicyConfig_DropCategory

type XdsClusterImplLoadBalancingPolicyConfig_DropCategory struct {
	Category           string `protobuf:"bytes,1,opt,name=category,proto3" json:"category,omitempty"`
	RequestsPerMillion uint32 `protobuf:"varint,2,opt,name=requests_per_million,json=requestsPerMillion,proto3" json:"requests_per_million,omitempty"`
	// contains filtered or unexported fields
}

Drop configuration.

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) Descriptor deprecated

Deprecated: Use XdsClusterImplLoadBalancingPolicyConfig_DropCategory.ProtoReflect.Descriptor instead.

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) GetCategory

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) GetRequestsPerMillion

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) ProtoMessage

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) ProtoReflect

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) Reset

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) String

type XdsClusterManagerLoadBalancingPolicyConfig

type XdsClusterManagerLoadBalancingPolicyConfig struct {
	Children map[string]*XdsClusterManagerLoadBalancingPolicyConfig_Child `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for xds_cluster_manager_experimental LB policy.

func (*XdsClusterManagerLoadBalancingPolicyConfig) Descriptor deprecated

Deprecated: Use XdsClusterManagerLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsClusterManagerLoadBalancingPolicyConfig) GetChildren

func (*XdsClusterManagerLoadBalancingPolicyConfig) ProtoMessage

func (*XdsClusterManagerLoadBalancingPolicyConfig) ProtoReflect

func (*XdsClusterManagerLoadBalancingPolicyConfig) Reset

func (*XdsClusterManagerLoadBalancingPolicyConfig) String

type XdsClusterManagerLoadBalancingPolicyConfig_Child

type XdsClusterManagerLoadBalancingPolicyConfig_Child struct {
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) Descriptor deprecated

Deprecated: Use XdsClusterManagerLoadBalancingPolicyConfig_Child.ProtoReflect.Descriptor instead.

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) GetChildPolicy

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) ProtoMessage

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) ProtoReflect

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) Reset

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) String

type XdsClusterResolverLoadBalancingPolicyConfig

type XdsClusterResolverLoadBalancingPolicyConfig struct {

	// Ordered list of discovery mechanisms.
	// Must have at least one element.
	// Results from each discovery mechanism are concatenated together in
	// successive priorities.
	DiscoveryMechanisms []*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism `protobuf:"bytes,1,rep,name=discovery_mechanisms,json=discoveryMechanisms,proto3" json:"discovery_mechanisms,omitempty"`
	// xDS LB policy. Will be used as the child config of the xds_cluster_impl LB policy.
	XdsLbPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=xds_lb_policy,json=xdsLbPolicy,proto3" json:"xds_lb_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for xds_cluster_resolver LB policy. Deprecated.

func (*XdsClusterResolverLoadBalancingPolicyConfig) Descriptor deprecated

Deprecated: Use XdsClusterResolverLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsClusterResolverLoadBalancingPolicyConfig) GetDiscoveryMechanisms

func (*XdsClusterResolverLoadBalancingPolicyConfig) GetXdsLbPolicy

func (*XdsClusterResolverLoadBalancingPolicyConfig) ProtoMessage

func (*XdsClusterResolverLoadBalancingPolicyConfig) ProtoReflect

func (*XdsClusterResolverLoadBalancingPolicyConfig) Reset

func (*XdsClusterResolverLoadBalancingPolicyConfig) String

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism struct {

	// Cluster name.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// If set to the empty string, load reporting will be sent to the same
	// server that we obtained CDS data from.
	// DEPRECATED: Use new lrs_load_reporting_server field instead.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// Supercedes lrs_load_reporting_server_name field.
	LrsLoadReportingServer *XdsServer `` /* 131-byte string literal not displayed */
	// Maximum number of outstanding requests can be made to the upstream
	// cluster.  Default is 1024.
	MaxConcurrentRequests *wrapperspb.UInt32Value                                             `` /* 126-byte string literal not displayed */
	Type                  XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type `` /* 155-byte string literal not displayed */
	// For type EDS only.
	// EDS service name, as returned in CDS.
	// May be unset if not specified in CDS.
	EdsServiceName string `protobuf:"bytes,5,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// For type LOGICAL_DNS only.
	// DNS name to resolve in "host:port" form.
	DnsHostname string `protobuf:"bytes,6,opt,name=dns_hostname,json=dnsHostname,proto3" json:"dns_hostname,omitempty"`
	// The configuration for outlier_detection child policies
	// Within this message, the child_policy field will be ignored
	OutlierDetection *OutlierDetectionLoadBalancingConfig `protobuf:"bytes,8,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// The configuration for xds_override_host child policy
	OverrideHostStatus []OverrideHostLoadBalancingPolicyConfig_HealthStatus `` /* 201-byte string literal not displayed */
	// Telemetry labels associated with this cluster
	TelemetryLabels map[string]string `` /* 195-byte string literal not displayed */
	// contains filtered or unexported fields
}

Describes a discovery mechanism instance. For EDS or LOGICAL_DNS clusters, there will be exactly one DiscoveryMechanism, which will describe the cluster of the parent CDS policy. For aggregate clusters, there will be one DiscoveryMechanism for each underlying cluster.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) Descriptor deprecated

Deprecated: Use XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism.ProtoReflect.Descriptor instead.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetCluster

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetDnsHostname

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetEdsServiceName

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetLrsLoadReportingServer

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetLrsLoadReportingServerName deprecated

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetMaxConcurrentRequests

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetOutlierDetection

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetOverrideHostStatus

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetTelemetryLabels

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetType

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ProtoMessage

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ProtoReflect

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) Reset

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) String

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type int32
const (
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_UNKNOWN     XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type = 0
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_EDS         XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type = 1
	XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_LOGICAL_DNS XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type = 2
)

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Descriptor

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Enum

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) EnumDescriptor deprecated

Deprecated: Use XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type.Descriptor instead.

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Number

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) String

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Type

type XdsConfig

type XdsConfig struct {

	// Name of balancer to connect to.
	//
	// Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.
	BalancerName string `protobuf:"bytes,1,opt,name=balancer_name,json=balancerName,proto3" json:"balancer_name,omitempty"`
	// Optional.  What LB policy to use for intra-locality routing.
	// If unset, will use whatever algorithm is specified by the balancer.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,2,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// Optional.  What LB policy to use in fallback mode.  If not
	// specified, defaults to round_robin.
	// Multiple LB policies can be specified; clients will iterate through
	// the list in order and stop at the first policy that they support.
	FallbackPolicy []*LoadBalancingConfig `protobuf:"bytes,3,rep,name=fallback_policy,json=fallbackPolicy,proto3" json:"fallback_policy,omitempty"`
	// Optional.  Name to use in EDS query.  If not present, defaults to
	// the server name from the target URI.
	EdsServiceName string `protobuf:"bytes,4,opt,name=eds_service_name,json=edsServiceName,proto3" json:"eds_service_name,omitempty"`
	// LRS server to send load reports to.
	// If not present, load reporting will be disabled.
	// If set to the empty string, load reporting will be sent to the same
	// server that we obtained CDS data from.
	LrsLoadReportingServerName *wrapperspb.StringValue `` /* 145-byte string literal not displayed */
	// contains filtered or unexported fields
}

Configuration for xds LB policy. Deprecated.

func (*XdsConfig) Descriptor deprecated

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

Deprecated: Use XdsConfig.ProtoReflect.Descriptor instead.

func (*XdsConfig) GetBalancerName deprecated

func (x *XdsConfig) GetBalancerName() string

Deprecated: Marked as deprecated in grpc/service_config/service_config.proto.

func (*XdsConfig) GetChildPolicy

func (x *XdsConfig) GetChildPolicy() []*LoadBalancingConfig

func (*XdsConfig) GetEdsServiceName

func (x *XdsConfig) GetEdsServiceName() string

func (*XdsConfig) GetFallbackPolicy

func (x *XdsConfig) GetFallbackPolicy() []*LoadBalancingConfig

func (*XdsConfig) GetLrsLoadReportingServerName

func (x *XdsConfig) GetLrsLoadReportingServerName() *wrapperspb.StringValue

func (*XdsConfig) ProtoMessage

func (*XdsConfig) ProtoMessage()

func (*XdsConfig) ProtoReflect

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

func (*XdsConfig) Reset

func (x *XdsConfig) Reset()

func (*XdsConfig) String

func (x *XdsConfig) String() string

type XdsServer

type XdsServer struct {
	ServerUri string `protobuf:"bytes,1,opt,name=server_uri,proto3" json:"server_uri,omitempty"` // Required.
	// A list of channel creds to use.  The first supported type will be used.
	ChannelCreds []*XdsServer_ChannelCredentials `protobuf:"bytes,2,rep,name=channel_creds,proto3" json:"channel_creds,omitempty"`
	// A repeated list of server features.
	ServerFeatures []*structpb.Value `protobuf:"bytes,3,rep,name=server_features,proto3" json:"server_features,omitempty"`
	// contains filtered or unexported fields
}

Represents an xDS server. Deprecated.

func (*XdsServer) Descriptor deprecated

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

Deprecated: Use XdsServer.ProtoReflect.Descriptor instead.

func (*XdsServer) GetChannelCreds

func (x *XdsServer) GetChannelCreds() []*XdsServer_ChannelCredentials

func (*XdsServer) GetServerFeatures

func (x *XdsServer) GetServerFeatures() []*structpb.Value

func (*XdsServer) GetServerUri

func (x *XdsServer) GetServerUri() string

func (*XdsServer) ProtoMessage

func (*XdsServer) ProtoMessage()

func (*XdsServer) ProtoReflect

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

func (*XdsServer) Reset

func (x *XdsServer) Reset()

func (*XdsServer) String

func (x *XdsServer) String() string

type XdsServer_ChannelCredentials

type XdsServer_ChannelCredentials struct {
	Type   string           `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`     // Required.
	Config *structpb.Struct `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` // Optional JSON config.
	// contains filtered or unexported fields
}

func (*XdsServer_ChannelCredentials) Descriptor deprecated

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

Deprecated: Use XdsServer_ChannelCredentials.ProtoReflect.Descriptor instead.

func (*XdsServer_ChannelCredentials) GetConfig

func (*XdsServer_ChannelCredentials) GetType

func (x *XdsServer_ChannelCredentials) GetType() string

func (*XdsServer_ChannelCredentials) ProtoMessage

func (*XdsServer_ChannelCredentials) ProtoMessage()

func (*XdsServer_ChannelCredentials) ProtoReflect

func (*XdsServer_ChannelCredentials) Reset

func (x *XdsServer_ChannelCredentials) Reset()

func (*XdsServer_ChannelCredentials) String

type XdsWrrLocalityLoadBalancingPolicyConfig

type XdsWrrLocalityLoadBalancingPolicyConfig struct {
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,1,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for the xds_wrr_locality load balancing policy.

func (*XdsWrrLocalityLoadBalancingPolicyConfig) Descriptor deprecated

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

Deprecated: Use XdsWrrLocalityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsWrrLocalityLoadBalancingPolicyConfig) GetChildPolicy

func (*XdsWrrLocalityLoadBalancingPolicyConfig) ProtoMessage

func (*XdsWrrLocalityLoadBalancingPolicyConfig) ProtoReflect

func (*XdsWrrLocalityLoadBalancingPolicyConfig) Reset

func (*XdsWrrLocalityLoadBalancingPolicyConfig) String

Jump to

Keyboard shortcuts

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