grpc_service_config

package
v1.47.0 Latest Latest
Warning

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

Go to latest
Published: May 31, 2022 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

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 (
	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 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.
	// 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) ProtoMessage

func (*CdsConfig) ProtoMessage()

func (*CdsConfig) ProtoReflect added in v1.33.2

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

func (*CdsConfig) Reset

func (x *CdsConfig) Reset()

func (*CdsConfig) String

func (x *CdsConfig) String() string

type EdsLoadBalancingPolicyConfig added in v1.30.0

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.

func (*EdsLoadBalancingPolicyConfig) Descriptor deprecated added in v1.30.0

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

Deprecated: Use EdsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*EdsLoadBalancingPolicyConfig) GetCluster added in v1.30.0

func (x *EdsLoadBalancingPolicyConfig) GetCluster() string

func (*EdsLoadBalancingPolicyConfig) GetEdsServiceName added in v1.30.0

func (x *EdsLoadBalancingPolicyConfig) GetEdsServiceName() string

func (*EdsLoadBalancingPolicyConfig) GetEndpointPickingPolicy added in v1.30.0

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

func (*EdsLoadBalancingPolicyConfig) GetLocalityPickingPolicy added in v1.30.0

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

func (*EdsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName added in v1.30.0

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

func (*EdsLoadBalancingPolicyConfig) ProtoMessage added in v1.30.0

func (*EdsLoadBalancingPolicyConfig) ProtoMessage()

func (*EdsLoadBalancingPolicyConfig) ProtoReflect added in v1.33.2

func (*EdsLoadBalancingPolicyConfig) Reset added in v1.30.0

func (x *EdsLoadBalancingPolicyConfig) Reset()

func (*EdsLoadBalancingPolicyConfig) String added in v1.30.0

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 added in v1.46.0

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

func (*GrpcLbConfig) GetServiceName added in v1.28.0

func (x *GrpcLbConfig) GetServiceName() string

func (*GrpcLbConfig) ProtoMessage

func (*GrpcLbConfig) ProtoMessage()

func (*GrpcLbConfig) ProtoReflect added in v1.33.2

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

func (*GrpcLbConfig) Reset

func (x *GrpcLbConfig) Reset()

func (*GrpcLbConfig) String

func (x *GrpcLbConfig) String() string

type LoadBalancingConfig

type LoadBalancingConfig struct {

	// Exactly one LB policy may be configured.
	//
	// Types that are assignable to Policy:
	//	*LoadBalancingConfig_PickFirst
	//	*LoadBalancingConfig_RoundRobin
	//	*LoadBalancingConfig_OutlierDetection
	//	*LoadBalancingConfig_Grpclb
	//	*LoadBalancingConfig_PriorityExperimental
	//	*LoadBalancingConfig_WeightedTargetExperimental
	//	*LoadBalancingConfig_XdsClusterManagerExperimental
	//	*LoadBalancingConfig_CdsExperimental
	//	*LoadBalancingConfig_XdsClusterResolverExperimental
	//	*LoadBalancingConfig_XdsClusterImplExperimental
	//	*LoadBalancingConfig_RingHashExperimental
	//	*LoadBalancingConfig_LrsExperimental
	//	*LoadBalancingConfig_EdsExperimental
	//	*LoadBalancingConfig_Xds
	//	*LoadBalancingConfig_XdsExperimental
	//	*LoadBalancingConfig_XdsWrrLocalityExperimental
	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 added in v1.45.0

func (x *LoadBalancingConfig) GetCdsExperimental() *CdsConfig

func (*LoadBalancingConfig) GetEdsExperimental deprecated added in v1.45.0

func (x *LoadBalancingConfig) GetEdsExperimental() *EdsLoadBalancingPolicyConfig

Deprecated: Do not use.

func (*LoadBalancingConfig) GetGrpclb

func (x *LoadBalancingConfig) GetGrpclb() *GrpcLbConfig

func (*LoadBalancingConfig) GetLrsExperimental deprecated added in v1.45.0

func (x *LoadBalancingConfig) GetLrsExperimental() *LrsLoadBalancingPolicyConfig

Deprecated: Do not use.

func (*LoadBalancingConfig) GetOutlierDetection added in v1.46.0

func (x *LoadBalancingConfig) GetOutlierDetection() *OutlierDetectionLoadBalancingConfig

func (*LoadBalancingConfig) GetPickFirst

func (x *LoadBalancingConfig) GetPickFirst() *PickFirstConfig

func (*LoadBalancingConfig) GetPolicy

func (m *LoadBalancingConfig) GetPolicy() isLoadBalancingConfig_Policy

func (*LoadBalancingConfig) GetPriorityExperimental added in v1.45.0

func (x *LoadBalancingConfig) GetPriorityExperimental() *PriorityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetRingHashExperimental added in v1.45.0

func (x *LoadBalancingConfig) GetRingHashExperimental() *RingHashLoadBalancingConfig

func (*LoadBalancingConfig) GetRoundRobin

func (x *LoadBalancingConfig) GetRoundRobin() *RoundRobinConfig

func (*LoadBalancingConfig) GetWeightedTargetExperimental added in v1.45.0

func (x *LoadBalancingConfig) GetWeightedTargetExperimental() *WeightedTargetLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXds deprecated

func (x *LoadBalancingConfig) GetXds() *XdsConfig

Deprecated: Do not use.

func (*LoadBalancingConfig) GetXdsClusterImplExperimental added in v1.45.0

func (x *LoadBalancingConfig) GetXdsClusterImplExperimental() *XdsClusterImplLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXdsClusterManagerExperimental added in v1.45.0

func (x *LoadBalancingConfig) GetXdsClusterManagerExperimental() *XdsClusterManagerLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXdsClusterResolverExperimental added in v1.45.0

func (x *LoadBalancingConfig) GetXdsClusterResolverExperimental() *XdsClusterResolverLoadBalancingPolicyConfig

func (*LoadBalancingConfig) GetXdsExperimental deprecated

func (x *LoadBalancingConfig) GetXdsExperimental() *XdsConfig

Deprecated: Do not use.

func (*LoadBalancingConfig) GetXdsWrrLocalityExperimental added in v1.47.0

func (x *LoadBalancingConfig) GetXdsWrrLocalityExperimental() *XdsWrrLocalityLoadBalancingPolicyConfig

func (*LoadBalancingConfig) ProtoMessage

func (*LoadBalancingConfig) ProtoMessage()

func (*LoadBalancingConfig) ProtoReflect added in v1.33.2

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

func (*LoadBalancingConfig) Reset

func (x *LoadBalancingConfig) Reset()

func (*LoadBalancingConfig) String

func (x *LoadBalancingConfig) String() string

type LoadBalancingConfig_CdsExperimental added in v1.45.0

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

type LoadBalancingConfig_EdsExperimental added in v1.45.0

type LoadBalancingConfig_EdsExperimental struct {
	// Deprecated: Do not use.
	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_LrsExperimental added in v1.45.0

type LoadBalancingConfig_LrsExperimental struct {
	// Deprecated xDS-related policies.
	//
	// Deprecated: Do not use.
	LrsExperimental *LrsLoadBalancingPolicyConfig `protobuf:"bytes,8,opt,name=lrs_experimental,proto3,oneof"`
}

type LoadBalancingConfig_OutlierDetection added in v1.46.0

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

type LoadBalancingConfig_PickFirst

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

type LoadBalancingConfig_PriorityExperimental added in v1.45.0

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

type LoadBalancingConfig_RingHashExperimental added in v1.45.0

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

type LoadBalancingConfig_RoundRobin

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

type LoadBalancingConfig_WeightedTargetExperimental added in v1.45.0

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

type LoadBalancingConfig_Xds

type LoadBalancingConfig_Xds struct {
	// Deprecated: Do not use.
	Xds *XdsConfig `protobuf:"bytes,2,opt,name=xds,proto3,oneof"`
}

type LoadBalancingConfig_XdsClusterImplExperimental added in v1.45.0

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

type LoadBalancingConfig_XdsClusterManagerExperimental added in v1.45.0

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

type LoadBalancingConfig_XdsClusterResolverExperimental added in v1.45.0

type LoadBalancingConfig_XdsClusterResolverExperimental struct {
	XdsClusterResolverExperimental *XdsClusterResolverLoadBalancingPolicyConfig `protobuf:"bytes,11,opt,name=xds_cluster_resolver_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsExperimental

type LoadBalancingConfig_XdsExperimental struct {
	// Deprecated: Do not use.
	XdsExperimental *XdsConfig `protobuf:"bytes,5,opt,name=xds_experimental,proto3,oneof"`
}

type LoadBalancingConfig_XdsWrrLocalityExperimental added in v1.47.0

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

type LrsLoadBalancingPolicyConfig added in v1.30.0

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.

func (*LrsLoadBalancingPolicyConfig) Descriptor deprecated added in v1.30.0

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

Deprecated: Use LrsLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*LrsLoadBalancingPolicyConfig) GetChildPolicy added in v1.30.0

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

func (*LrsLoadBalancingPolicyConfig) GetClusterName added in v1.30.0

func (x *LrsLoadBalancingPolicyConfig) GetClusterName() string

func (*LrsLoadBalancingPolicyConfig) GetEdsServiceName added in v1.30.0

func (x *LrsLoadBalancingPolicyConfig) GetEdsServiceName() string

func (*LrsLoadBalancingPolicyConfig) GetLocality added in v1.30.0

func (*LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName added in v1.30.0

func (x *LrsLoadBalancingPolicyConfig) GetLrsLoadReportingServerName() string

func (*LrsLoadBalancingPolicyConfig) ProtoMessage added in v1.30.0

func (*LrsLoadBalancingPolicyConfig) ProtoMessage()

func (*LrsLoadBalancingPolicyConfig) ProtoReflect added in v1.33.2

func (*LrsLoadBalancingPolicyConfig) Reset added in v1.30.0

func (x *LrsLoadBalancingPolicyConfig) Reset()

func (*LrsLoadBalancingPolicyConfig) String added in v1.30.0

type LrsLoadBalancingPolicyConfig_Locality added in v1.30.0

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 added in v1.30.0

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

Deprecated: Use LrsLoadBalancingPolicyConfig_Locality.ProtoReflect.Descriptor instead.

func (*LrsLoadBalancingPolicyConfig_Locality) GetRegion added in v1.30.0

func (*LrsLoadBalancingPolicyConfig_Locality) GetSubzone added in v1.30.0

func (*LrsLoadBalancingPolicyConfig_Locality) GetZone added in v1.30.0

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage added in v1.30.0

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoMessage()

func (*LrsLoadBalancingPolicyConfig_Locality) ProtoReflect added in v1.33.2

func (*LrsLoadBalancingPolicyConfig_Locality) Reset added in v1.30.0

func (*LrsLoadBalancingPolicyConfig_Locality) String added in v1.30.0

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 added in v1.33.2

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 added in v1.33.2

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 added in v1.33.2

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 added in v1.33.2

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 added in v1.46.0

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 added in v1.46.0

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

Deprecated: Use OutlierDetectionLoadBalancingConfig.ProtoReflect.Descriptor instead.

func (*OutlierDetectionLoadBalancingConfig) GetBaseEjectionTime added in v1.46.0

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

func (*OutlierDetectionLoadBalancingConfig) GetChildPolicy added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig) GetFailurePercentageEjection added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig) GetInterval added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig) GetMaxEjectionPercent added in v1.46.0

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

func (*OutlierDetectionLoadBalancingConfig) GetMaxEjectionTime added in v1.46.0

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

func (*OutlierDetectionLoadBalancingConfig) GetSuccessRateEjection added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig) ProtoMessage added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig) ProtoMessage()

func (*OutlierDetectionLoadBalancingConfig) ProtoReflect added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig) Reset added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig) String added in v1.46.0

type OutlierDetectionLoadBalancingConfig_FailurePercentageEjection added in v1.46.0

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 added in v1.46.0

Deprecated: Use OutlierDetectionLoadBalancingConfig_FailurePercentageEjection.ProtoReflect.Descriptor instead.

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetEnforcementPercentage added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetMinimumHosts added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetRequestVolume added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) GetThreshold added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ProtoMessage added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) ProtoReflect added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) Reset added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_FailurePercentageEjection) String added in v1.46.0

type OutlierDetectionLoadBalancingConfig_SuccessRateEjection added in v1.46.0

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 added in v1.46.0

Deprecated: Use OutlierDetectionLoadBalancingConfig_SuccessRateEjection.ProtoReflect.Descriptor instead.

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetEnforcementPercentage added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetMinimumHosts added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetRequestVolume added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) GetStdevFactor added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ProtoMessage added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) ProtoReflect added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) Reset added in v1.46.0

func (*OutlierDetectionLoadBalancingConfig_SuccessRateEjection) String added in v1.46.0

type PickFirstConfig

type PickFirstConfig struct {
	// 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) ProtoMessage

func (*PickFirstConfig) ProtoMessage()

func (*PickFirstConfig) ProtoReflect added in v1.33.2

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

func (*PickFirstConfig) Reset

func (x *PickFirstConfig) Reset()

func (*PickFirstConfig) String

func (x *PickFirstConfig) String() string

type PriorityLoadBalancingPolicyConfig added in v1.30.0

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 added in v1.30.0

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

Deprecated: Use PriorityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*PriorityLoadBalancingPolicyConfig) GetChildren added in v1.30.0

func (*PriorityLoadBalancingPolicyConfig) GetPriorities added in v1.30.0

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

func (*PriorityLoadBalancingPolicyConfig) ProtoMessage added in v1.30.0

func (*PriorityLoadBalancingPolicyConfig) ProtoMessage()

func (*PriorityLoadBalancingPolicyConfig) ProtoReflect added in v1.33.2

func (*PriorityLoadBalancingPolicyConfig) Reset added in v1.30.0

func (*PriorityLoadBalancingPolicyConfig) String added in v1.30.0

type PriorityLoadBalancingPolicyConfig_Child added in v1.30.0

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 added in v1.30.0

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

Deprecated: Use PriorityLoadBalancingPolicyConfig_Child.ProtoReflect.Descriptor instead.

func (*PriorityLoadBalancingPolicyConfig_Child) GetConfig added in v1.30.0

func (*PriorityLoadBalancingPolicyConfig_Child) GetIgnoreReresolutionRequests added in v1.45.0

func (x *PriorityLoadBalancingPolicyConfig_Child) GetIgnoreReresolutionRequests() bool

func (*PriorityLoadBalancingPolicyConfig_Child) ProtoMessage added in v1.30.0

func (*PriorityLoadBalancingPolicyConfig_Child) ProtoReflect added in v1.33.2

func (*PriorityLoadBalancingPolicyConfig_Child) Reset added in v1.30.0

func (*PriorityLoadBalancingPolicyConfig_Child) String added in v1.30.0

type RingHashLoadBalancingConfig added in v1.45.0

type RingHashLoadBalancingConfig struct {
	MinRingSize uint64 `protobuf:"varint,1,opt,name=min_ring_size,json=minRingSize,proto3" json:"min_ring_size,omitempty"`
	MaxRingSize uint64 `protobuf:"varint,2,opt,name=max_ring_size,json=maxRingSize,proto3" json:"max_ring_size,omitempty"`
	// contains filtered or unexported fields
}

Configuration for ring_hash LB policy.

func (*RingHashLoadBalancingConfig) Descriptor deprecated added in v1.45.0

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

Deprecated: Use RingHashLoadBalancingConfig.ProtoReflect.Descriptor instead.

func (*RingHashLoadBalancingConfig) GetMaxRingSize added in v1.45.0

func (x *RingHashLoadBalancingConfig) GetMaxRingSize() uint64

func (*RingHashLoadBalancingConfig) GetMinRingSize added in v1.45.0

func (x *RingHashLoadBalancingConfig) GetMinRingSize() uint64

func (*RingHashLoadBalancingConfig) ProtoMessage added in v1.45.0

func (*RingHashLoadBalancingConfig) ProtoMessage()

func (*RingHashLoadBalancingConfig) ProtoReflect added in v1.45.0

func (*RingHashLoadBalancingConfig) Reset added in v1.45.0

func (x *RingHashLoadBalancingConfig) Reset()

func (*RingHashLoadBalancingConfig) String added in v1.45.0

func (x *RingHashLoadBalancingConfig) String() 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 added in v1.33.2

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: Do not use.
	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: Do not use.

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 added in v1.33.2

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 added in v1.33.2

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 added in v1.33.2

func (ServiceConfig_LoadBalancingPolicy) Enum added in v1.33.2

func (ServiceConfig_LoadBalancingPolicy) EnumDescriptor deprecated

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

Deprecated: Use ServiceConfig_LoadBalancingPolicy.Descriptor instead.

func (ServiceConfig_LoadBalancingPolicy) Number added in v1.33.2

func (ServiceConfig_LoadBalancingPolicy) String

func (ServiceConfig_LoadBalancingPolicy) Type added in v1.33.2

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 added in v1.33.2

func (*ServiceConfig_RetryThrottlingPolicy) Reset

func (*ServiceConfig_RetryThrottlingPolicy) String

type WeightedTargetLoadBalancingPolicyConfig added in v1.30.0

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 added in v1.30.0

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

Deprecated: Use WeightedTargetLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*WeightedTargetLoadBalancingPolicyConfig) GetTargets added in v1.30.0

func (*WeightedTargetLoadBalancingPolicyConfig) ProtoMessage added in v1.30.0

func (*WeightedTargetLoadBalancingPolicyConfig) ProtoReflect added in v1.33.2

func (*WeightedTargetLoadBalancingPolicyConfig) Reset added in v1.30.0

func (*WeightedTargetLoadBalancingPolicyConfig) String added in v1.30.0

type WeightedTargetLoadBalancingPolicyConfig_Target added in v1.30.0

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 added in v1.30.0

Deprecated: Use WeightedTargetLoadBalancingPolicyConfig_Target.ProtoReflect.Descriptor instead.

func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetChildPolicy added in v1.30.0

func (*WeightedTargetLoadBalancingPolicyConfig_Target) GetWeight added in v1.30.0

func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoMessage added in v1.30.0

func (*WeightedTargetLoadBalancingPolicyConfig_Target) ProtoReflect added in v1.33.2

func (*WeightedTargetLoadBalancingPolicyConfig_Target) Reset added in v1.30.0

func (*WeightedTargetLoadBalancingPolicyConfig_Target) String added in v1.30.0

type XdsClusterImplLoadBalancingPolicyConfig added in v1.45.0

type XdsClusterImplLoadBalancingPolicyConfig struct {

	// Cluster name.  Required.
	Cluster string `protobuf:"bytes,1,opt,name=cluster,proto3" json:"cluster,omitempty"`
	// EDS service name.
	// Not set if cluster is not an EDS cluster or if it does not
	// specify an EDS service name.
	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: Do not use.
	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 */
	DropCategories        []*XdsClusterImplLoadBalancingPolicyConfig_DropCategory `protobuf:"bytes,5,rep,name=drop_categories,json=dropCategories,proto3" json:"drop_categories,omitempty"`
	// Child policy.
	ChildPolicy []*LoadBalancingConfig `protobuf:"bytes,6,rep,name=child_policy,json=childPolicy,proto3" json:"child_policy,omitempty"`
	// contains filtered or unexported fields
}

Configuration for xds_cluster_impl LB policy.

func (*XdsClusterImplLoadBalancingPolicyConfig) Descriptor deprecated added in v1.45.0

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

Deprecated: Use XdsClusterImplLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetChildPolicy added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig) GetCluster added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig) GetDropCategories added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig) GetEdsServiceName added in v1.45.0

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetEdsServiceName() string

func (*XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServer added in v1.45.0

func (x *XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServer() *XdsServer

func (*XdsClusterImplLoadBalancingPolicyConfig) GetLrsLoadReportingServerName deprecated added in v1.45.0

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

Deprecated: Do not use.

func (*XdsClusterImplLoadBalancingPolicyConfig) GetMaxConcurrentRequests added in v1.45.0

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

func (*XdsClusterImplLoadBalancingPolicyConfig) ProtoMessage added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig) ProtoReflect added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig) Reset added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig) String added in v1.45.0

type XdsClusterImplLoadBalancingPolicyConfig_DropCategory added in v1.45.0

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 added in v1.45.0

Deprecated: Use XdsClusterImplLoadBalancingPolicyConfig_DropCategory.ProtoReflect.Descriptor instead.

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) GetCategory added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) GetRequestsPerMillion added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) ProtoMessage added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) ProtoReflect added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) Reset added in v1.45.0

func (*XdsClusterImplLoadBalancingPolicyConfig_DropCategory) String added in v1.45.0

type XdsClusterManagerLoadBalancingPolicyConfig added in v1.45.0

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 added in v1.45.0

Deprecated: Use XdsClusterManagerLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsClusterManagerLoadBalancingPolicyConfig) GetChildren added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig) ProtoMessage added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig) ProtoReflect added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig) Reset added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig) String added in v1.45.0

type XdsClusterManagerLoadBalancingPolicyConfig_Child added in v1.45.0

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 added in v1.45.0

Deprecated: Use XdsClusterManagerLoadBalancingPolicyConfig_Child.ProtoReflect.Descriptor instead.

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) GetChildPolicy added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) ProtoMessage added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) ProtoReflect added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) Reset added in v1.45.0

func (*XdsClusterManagerLoadBalancingPolicyConfig_Child) String added in v1.45.0

type XdsClusterResolverLoadBalancingPolicyConfig added in v1.45.0

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.

func (*XdsClusterResolverLoadBalancingPolicyConfig) Descriptor deprecated added in v1.45.0

Deprecated: Use XdsClusterResolverLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsClusterResolverLoadBalancingPolicyConfig) GetDiscoveryMechanisms added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig) GetXdsLbPolicy added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig) ProtoMessage added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig) ProtoReflect added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig) Reset added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig) String added in v1.45.0

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism added in v1.45.0

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: Do not use.
	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"`
	// 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 added in v1.45.0

Deprecated: Use XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism.ProtoReflect.Descriptor instead.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetCluster added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetDnsHostname added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetEdsServiceName added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetLrsLoadReportingServer added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetLrsLoadReportingServerName deprecated added in v1.45.0

Deprecated: Do not use.

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetMaxConcurrentRequests added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetOutlierDetection added in v1.46.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) GetType added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ProtoMessage added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) ProtoReflect added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) Reset added in v1.45.0

func (*XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism) String added in v1.45.0

type XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type added in v1.45.0

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 added in v1.45.0

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Enum added in v1.45.0

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) EnumDescriptor deprecated added in v1.45.0

Deprecated: Use XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type.Descriptor instead.

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Number added in v1.45.0

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) String added in v1.45.0

func (XdsClusterResolverLoadBalancingPolicyConfig_DiscoveryMechanism_Type) Type added in v1.45.0

type XdsConfig

type XdsConfig struct {

	// Name of balancer to connect to.
	//
	// Deprecated: Do not use.
	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.

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: Do not use.

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 added in v1.33.2

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

func (*XdsConfig) Reset

func (x *XdsConfig) Reset()

func (*XdsConfig) String

func (x *XdsConfig) String() string

type XdsServer added in v1.45.0

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.

func (*XdsServer) Descriptor deprecated added in v1.45.0

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

Deprecated: Use XdsServer.ProtoReflect.Descriptor instead.

func (*XdsServer) GetChannelCreds added in v1.45.0

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

func (*XdsServer) GetServerFeatures added in v1.45.0

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

func (*XdsServer) GetServerUri added in v1.45.0

func (x *XdsServer) GetServerUri() string

func (*XdsServer) ProtoMessage added in v1.45.0

func (*XdsServer) ProtoMessage()

func (*XdsServer) ProtoReflect added in v1.45.0

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

func (*XdsServer) Reset added in v1.45.0

func (x *XdsServer) Reset()

func (*XdsServer) String added in v1.45.0

func (x *XdsServer) String() string

type XdsServer_ChannelCredentials added in v1.45.0

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 added in v1.45.0

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

Deprecated: Use XdsServer_ChannelCredentials.ProtoReflect.Descriptor instead.

func (*XdsServer_ChannelCredentials) GetConfig added in v1.45.0

func (*XdsServer_ChannelCredentials) GetType added in v1.45.0

func (x *XdsServer_ChannelCredentials) GetType() string

func (*XdsServer_ChannelCredentials) ProtoMessage added in v1.45.0

func (*XdsServer_ChannelCredentials) ProtoMessage()

func (*XdsServer_ChannelCredentials) ProtoReflect added in v1.45.0

func (*XdsServer_ChannelCredentials) Reset added in v1.45.0

func (x *XdsServer_ChannelCredentials) Reset()

func (*XdsServer_ChannelCredentials) String added in v1.45.0

type XdsWrrLocalityLoadBalancingPolicyConfig added in v1.47.0

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 added in v1.47.0

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

Deprecated: Use XdsWrrLocalityLoadBalancingPolicyConfig.ProtoReflect.Descriptor instead.

func (*XdsWrrLocalityLoadBalancingPolicyConfig) GetChildPolicy added in v1.47.0

func (*XdsWrrLocalityLoadBalancingPolicyConfig) ProtoMessage added in v1.47.0

func (*XdsWrrLocalityLoadBalancingPolicyConfig) ProtoReflect added in v1.47.0

func (*XdsWrrLocalityLoadBalancingPolicyConfig) Reset added in v1.47.0

func (*XdsWrrLocalityLoadBalancingPolicyConfig) String added in v1.47.0

Jump to

Keyboard shortcuts

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