mirror of
https://github.com/status-im/consul.git
synced 2025-01-10 13:55:55 +00:00
92aab7ea31
[OG Author: michael.zalimeni@hashicorp.com, rebase needed a separate PR] * v2: support virtual port in Service port references In addition to Service target port references, allow users to specify a port by stringified virtual port value. This is useful in environments such as Kubernetes where typical configuration is written in terms of Service virtual ports rather than workload (pod) target port names. Retaining the option of referencing target ports by name supports VMs, Nomad, and other use cases where virtual ports are not used by default. To support both uses cases at once, we will strictly interpret port references based on whether the value is numeric. See updated `ServicePort` docs for more details. * v2: update service ref docs for virtual port support Update proto and generated .go files with docs reflecting virtual port reference support. * v2: add virtual port references to L7 topo test Add coverage for mixed virtual and target port references to existing test. * update failover policy controller tests to work with computed failover policy and assert error conditions against FailoverPolicy and ComputedFailoverPolicy resources * accumulate services; don't overwrite them in enterprise --------- Co-authored-by: Michael Zalimeni <michael.zalimeni@hashicorp.com> Co-authored-by: R.B. Boyer <rb@hashicorp.com>
1107 lines
47 KiB
Go
1107 lines
47 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.31.0
|
|
// protoc (unknown)
|
|
// source: pbmesh/v2beta1/destination_policy.proto
|
|
|
|
package meshv2beta1
|
|
|
|
import (
|
|
_ "github.com/hashicorp/consul/proto-public/pbresource"
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
durationpb "google.golang.org/protobuf/types/known/durationpb"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// +kubebuilder:validation:Enum=LOCALITY_PRIORITIZATION_MODE_UNSPECIFIED;LOCALITY_PRIORITIZATION_MODE_NONE;LOCALITY_PRIORITIZATION_MODE_FAILOVER
|
|
// +kubebuilder:validation:Type=string
|
|
type LocalityPrioritizationMode int32
|
|
|
|
const (
|
|
LocalityPrioritizationMode_LOCALITY_PRIORITIZATION_MODE_UNSPECIFIED LocalityPrioritizationMode = 0
|
|
LocalityPrioritizationMode_LOCALITY_PRIORITIZATION_MODE_NONE LocalityPrioritizationMode = 1
|
|
LocalityPrioritizationMode_LOCALITY_PRIORITIZATION_MODE_FAILOVER LocalityPrioritizationMode = 2
|
|
)
|
|
|
|
// Enum value maps for LocalityPrioritizationMode.
|
|
var (
|
|
LocalityPrioritizationMode_name = map[int32]string{
|
|
0: "LOCALITY_PRIORITIZATION_MODE_UNSPECIFIED",
|
|
1: "LOCALITY_PRIORITIZATION_MODE_NONE",
|
|
2: "LOCALITY_PRIORITIZATION_MODE_FAILOVER",
|
|
}
|
|
LocalityPrioritizationMode_value = map[string]int32{
|
|
"LOCALITY_PRIORITIZATION_MODE_UNSPECIFIED": 0,
|
|
"LOCALITY_PRIORITIZATION_MODE_NONE": 1,
|
|
"LOCALITY_PRIORITIZATION_MODE_FAILOVER": 2,
|
|
}
|
|
)
|
|
|
|
func (x LocalityPrioritizationMode) Enum() *LocalityPrioritizationMode {
|
|
p := new(LocalityPrioritizationMode)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x LocalityPrioritizationMode) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (LocalityPrioritizationMode) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_enumTypes[0].Descriptor()
|
|
}
|
|
|
|
func (LocalityPrioritizationMode) Type() protoreflect.EnumType {
|
|
return &file_pbmesh_v2beta1_destination_policy_proto_enumTypes[0]
|
|
}
|
|
|
|
func (x LocalityPrioritizationMode) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use LocalityPrioritizationMode.Descriptor instead.
|
|
func (LocalityPrioritizationMode) EnumDescriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
// +kubebuilder:validation:Enum=LOAD_BALANCER_POLICY_UNSPECIFIED;LOAD_BALANCER_POLICY_RANDOM;LOAD_BALANCER_POLICY_ROUND_ROBIN;LOAD_BALANCER_POLICY_LEAST_REQUEST;LOAD_BALANCER_POLICY_MAGLEV;LOAD_BALANCER_POLICY_RING_HASH
|
|
// +kubebuilder:validation:Type=string
|
|
type LoadBalancerPolicy int32
|
|
|
|
const (
|
|
LoadBalancerPolicy_LOAD_BALANCER_POLICY_UNSPECIFIED LoadBalancerPolicy = 0
|
|
LoadBalancerPolicy_LOAD_BALANCER_POLICY_RANDOM LoadBalancerPolicy = 1
|
|
LoadBalancerPolicy_LOAD_BALANCER_POLICY_ROUND_ROBIN LoadBalancerPolicy = 2
|
|
LoadBalancerPolicy_LOAD_BALANCER_POLICY_LEAST_REQUEST LoadBalancerPolicy = 3
|
|
LoadBalancerPolicy_LOAD_BALANCER_POLICY_MAGLEV LoadBalancerPolicy = 4
|
|
LoadBalancerPolicy_LOAD_BALANCER_POLICY_RING_HASH LoadBalancerPolicy = 5
|
|
)
|
|
|
|
// Enum value maps for LoadBalancerPolicy.
|
|
var (
|
|
LoadBalancerPolicy_name = map[int32]string{
|
|
0: "LOAD_BALANCER_POLICY_UNSPECIFIED",
|
|
1: "LOAD_BALANCER_POLICY_RANDOM",
|
|
2: "LOAD_BALANCER_POLICY_ROUND_ROBIN",
|
|
3: "LOAD_BALANCER_POLICY_LEAST_REQUEST",
|
|
4: "LOAD_BALANCER_POLICY_MAGLEV",
|
|
5: "LOAD_BALANCER_POLICY_RING_HASH",
|
|
}
|
|
LoadBalancerPolicy_value = map[string]int32{
|
|
"LOAD_BALANCER_POLICY_UNSPECIFIED": 0,
|
|
"LOAD_BALANCER_POLICY_RANDOM": 1,
|
|
"LOAD_BALANCER_POLICY_ROUND_ROBIN": 2,
|
|
"LOAD_BALANCER_POLICY_LEAST_REQUEST": 3,
|
|
"LOAD_BALANCER_POLICY_MAGLEV": 4,
|
|
"LOAD_BALANCER_POLICY_RING_HASH": 5,
|
|
}
|
|
)
|
|
|
|
func (x LoadBalancerPolicy) Enum() *LoadBalancerPolicy {
|
|
p := new(LoadBalancerPolicy)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x LoadBalancerPolicy) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (LoadBalancerPolicy) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_enumTypes[1].Descriptor()
|
|
}
|
|
|
|
func (LoadBalancerPolicy) Type() protoreflect.EnumType {
|
|
return &file_pbmesh_v2beta1_destination_policy_proto_enumTypes[1]
|
|
}
|
|
|
|
func (x LoadBalancerPolicy) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use LoadBalancerPolicy.Descriptor instead.
|
|
func (LoadBalancerPolicy) EnumDescriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
// +kubebuilder:validation:Enum=HASH_POLICY_FIELD_UNSPECIFIED;HASH_POLICY_FIELD_HEADER;HASH_POLICY_FIELD_COOKIE;HASH_POLICY_FIELD_QUERY_PARAMETER
|
|
// +kubebuilder:validation:Type=string
|
|
type HashPolicyField int32
|
|
|
|
const (
|
|
HashPolicyField_HASH_POLICY_FIELD_UNSPECIFIED HashPolicyField = 0
|
|
HashPolicyField_HASH_POLICY_FIELD_HEADER HashPolicyField = 1
|
|
HashPolicyField_HASH_POLICY_FIELD_COOKIE HashPolicyField = 2
|
|
HashPolicyField_HASH_POLICY_FIELD_QUERY_PARAMETER HashPolicyField = 3
|
|
)
|
|
|
|
// Enum value maps for HashPolicyField.
|
|
var (
|
|
HashPolicyField_name = map[int32]string{
|
|
0: "HASH_POLICY_FIELD_UNSPECIFIED",
|
|
1: "HASH_POLICY_FIELD_HEADER",
|
|
2: "HASH_POLICY_FIELD_COOKIE",
|
|
3: "HASH_POLICY_FIELD_QUERY_PARAMETER",
|
|
}
|
|
HashPolicyField_value = map[string]int32{
|
|
"HASH_POLICY_FIELD_UNSPECIFIED": 0,
|
|
"HASH_POLICY_FIELD_HEADER": 1,
|
|
"HASH_POLICY_FIELD_COOKIE": 2,
|
|
"HASH_POLICY_FIELD_QUERY_PARAMETER": 3,
|
|
}
|
|
)
|
|
|
|
func (x HashPolicyField) Enum() *HashPolicyField {
|
|
p := new(HashPolicyField)
|
|
*p = x
|
|
return p
|
|
}
|
|
|
|
func (x HashPolicyField) String() string {
|
|
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
|
}
|
|
|
|
func (HashPolicyField) Descriptor() protoreflect.EnumDescriptor {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_enumTypes[2].Descriptor()
|
|
}
|
|
|
|
func (HashPolicyField) Type() protoreflect.EnumType {
|
|
return &file_pbmesh_v2beta1_destination_policy_proto_enumTypes[2]
|
|
}
|
|
|
|
func (x HashPolicyField) Number() protoreflect.EnumNumber {
|
|
return protoreflect.EnumNumber(x)
|
|
}
|
|
|
|
// Deprecated: Use HashPolicyField.Descriptor instead.
|
|
func (HashPolicyField) EnumDescriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
// DestinationPolicy is the destination-controlled set of defaults that
|
|
// are used when similar controls defined in an DestinationsConfiguration are
|
|
// left unspecified.
|
|
//
|
|
// Users may wish to share commonly configured settings for communicating with
|
|
// a service in one place, but yet retain the ability to tweak those on a
|
|
// client-by-client basis, which is why there are separate resources to control
|
|
// the definition of these values from either end of the connection.
|
|
//
|
|
// This is a Resource type.
|
|
type DestinationPolicy struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// PortConfigs defines the destination policy for a specific port on a service.
|
|
//
|
|
// For more details on potential values of the service port identifier key,
|
|
// see documentation for Service.ServicePort.
|
|
PortConfigs map[string]*DestinationConfig `protobuf:"bytes,1,rep,name=port_configs,json=portConfigs,proto3" json:"port_configs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
|
|
}
|
|
|
|
func (x *DestinationPolicy) Reset() {
|
|
*x = DestinationPolicy{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DestinationPolicy) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DestinationPolicy) ProtoMessage() {}
|
|
|
|
func (x *DestinationPolicy) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DestinationPolicy.ProtoReflect.Descriptor instead.
|
|
func (*DestinationPolicy) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *DestinationPolicy) GetPortConfigs() map[string]*DestinationConfig {
|
|
if x != nil {
|
|
return x.PortConfigs
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type DestinationConfig struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// ConnectTimeout is the timeout for establishing new network connections
|
|
// to this service.
|
|
// +kubebuilder:validation:Format=duration
|
|
ConnectTimeout *durationpb.Duration `protobuf:"bytes,1,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
|
|
// RequestTimeout is the timeout for an HTTP request to complete before the
|
|
// connection is automatically terminated. If unspecified, defaults to 15
|
|
// seconds.
|
|
// +kubebuilder:validation:Format=duration
|
|
RequestTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
|
|
// LoadBalancer determines the load balancing policy and configuration for
|
|
// services issuing requests to this upstream service.
|
|
LoadBalancer *LoadBalancer `protobuf:"bytes,3,opt,name=load_balancer,json=loadBalancer,proto3" json:"load_balancer,omitempty"`
|
|
// LocalityPrioritization controls whether the locality of services within the
|
|
// local partition will be used to prioritize connectivity.
|
|
LocalityPrioritization *LocalityPrioritization `protobuf:"bytes,4,opt,name=locality_prioritization,json=localityPrioritization,proto3" json:"locality_prioritization,omitempty"`
|
|
}
|
|
|
|
func (x *DestinationConfig) Reset() {
|
|
*x = DestinationConfig{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *DestinationConfig) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*DestinationConfig) ProtoMessage() {}
|
|
|
|
func (x *DestinationConfig) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use DestinationConfig.ProtoReflect.Descriptor instead.
|
|
func (*DestinationConfig) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *DestinationConfig) GetConnectTimeout() *durationpb.Duration {
|
|
if x != nil {
|
|
return x.ConnectTimeout
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *DestinationConfig) GetRequestTimeout() *durationpb.Duration {
|
|
if x != nil {
|
|
return x.RequestTimeout
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *DestinationConfig) GetLoadBalancer() *LoadBalancer {
|
|
if x != nil {
|
|
return x.LoadBalancer
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *DestinationConfig) GetLocalityPrioritization() *LocalityPrioritization {
|
|
if x != nil {
|
|
return x.LocalityPrioritization
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type LocalityPrioritization struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Mode specifies the type of prioritization that will be performed
|
|
// when selecting nodes in the local partition.
|
|
// Valid values are: "" (default "none"), "none", and "failover".
|
|
Mode LocalityPrioritizationMode `protobuf:"varint,1,opt,name=mode,proto3,enum=hashicorp.consul.mesh.v2beta1.LocalityPrioritizationMode" json:"mode,omitempty"`
|
|
}
|
|
|
|
func (x *LocalityPrioritization) Reset() {
|
|
*x = LocalityPrioritization{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LocalityPrioritization) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LocalityPrioritization) ProtoMessage() {}
|
|
|
|
func (x *LocalityPrioritization) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LocalityPrioritization.ProtoReflect.Descriptor instead.
|
|
func (*LocalityPrioritization) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *LocalityPrioritization) GetMode() LocalityPrioritizationMode {
|
|
if x != nil {
|
|
return x.Mode
|
|
}
|
|
return LocalityPrioritizationMode_LOCALITY_PRIORITIZATION_MODE_UNSPECIFIED
|
|
}
|
|
|
|
// LoadBalancer determines the load balancing policy and configuration
|
|
// for services issuing requests to this upstream service.
|
|
type LoadBalancer struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Policy is the load balancing policy used to select a host
|
|
Policy LoadBalancerPolicy `protobuf:"varint,1,opt,name=policy,proto3,enum=hashicorp.consul.mesh.v2beta1.LoadBalancerPolicy" json:"policy,omitempty"`
|
|
// HashPolicies is a list of hash policies to use for hashing load balancing
|
|
// algorithms. Hash policies are evaluated individually and combined such
|
|
// that identical lists result in the same hash.
|
|
//
|
|
// If no hash policies are present, or none are successfully evaluated,
|
|
// then a random backend host will be selected.
|
|
HashPolicies []*HashPolicy `protobuf:"bytes,2,rep,name=hash_policies,json=hashPolicies,proto3" json:"hash_policies,omitempty"`
|
|
// Types that are assignable to Config:
|
|
//
|
|
// *LoadBalancer_RingHashConfig
|
|
// *LoadBalancer_LeastRequestConfig
|
|
Config isLoadBalancer_Config `protobuf_oneof:"config"`
|
|
}
|
|
|
|
func (x *LoadBalancer) Reset() {
|
|
*x = LoadBalancer{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LoadBalancer) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LoadBalancer) ProtoMessage() {}
|
|
|
|
func (x *LoadBalancer) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LoadBalancer.ProtoReflect.Descriptor instead.
|
|
func (*LoadBalancer) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *LoadBalancer) GetPolicy() LoadBalancerPolicy {
|
|
if x != nil {
|
|
return x.Policy
|
|
}
|
|
return LoadBalancerPolicy_LOAD_BALANCER_POLICY_UNSPECIFIED
|
|
}
|
|
|
|
func (x *LoadBalancer) GetHashPolicies() []*HashPolicy {
|
|
if x != nil {
|
|
return x.HashPolicies
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (m *LoadBalancer) GetConfig() isLoadBalancer_Config {
|
|
if m != nil {
|
|
return m.Config
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LoadBalancer) GetRingHashConfig() *RingHashConfig {
|
|
if x, ok := x.GetConfig().(*LoadBalancer_RingHashConfig); ok {
|
|
return x.RingHashConfig
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *LoadBalancer) GetLeastRequestConfig() *LeastRequestConfig {
|
|
if x, ok := x.GetConfig().(*LoadBalancer_LeastRequestConfig); ok {
|
|
return x.LeastRequestConfig
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type isLoadBalancer_Config interface {
|
|
isLoadBalancer_Config()
|
|
}
|
|
|
|
type LoadBalancer_RingHashConfig struct {
|
|
// RingHashConfig contains configuration for the "ring_hash" policy type
|
|
RingHashConfig *RingHashConfig `protobuf:"bytes,3,opt,name=ring_hash_config,json=ringHashConfig,proto3,oneof"`
|
|
}
|
|
|
|
type LoadBalancer_LeastRequestConfig struct {
|
|
// LeastRequestConfig contains configuration for the "least_request" policy type
|
|
LeastRequestConfig *LeastRequestConfig `protobuf:"bytes,4,opt,name=least_request_config,json=leastRequestConfig,proto3,oneof"`
|
|
}
|
|
|
|
func (*LoadBalancer_RingHashConfig) isLoadBalancer_Config() {}
|
|
|
|
func (*LoadBalancer_LeastRequestConfig) isLoadBalancer_Config() {}
|
|
|
|
// RingHashConfig contains configuration for the "ring_hash" policy type
|
|
type RingHashConfig struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// MinimumRingSize determines the minimum number of entries in the hash ring
|
|
MinimumRingSize uint64 `protobuf:"varint,1,opt,name=minimum_ring_size,json=minimumRingSize,proto3" json:"minimum_ring_size,omitempty"`
|
|
// MaximumRingSize determines the maximum number of entries in the hash ring
|
|
MaximumRingSize uint64 `protobuf:"varint,2,opt,name=maximum_ring_size,json=maximumRingSize,proto3" json:"maximum_ring_size,omitempty"`
|
|
}
|
|
|
|
func (x *RingHashConfig) Reset() {
|
|
*x = RingHashConfig{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[4]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *RingHashConfig) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*RingHashConfig) ProtoMessage() {}
|
|
|
|
func (x *RingHashConfig) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[4]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use RingHashConfig.ProtoReflect.Descriptor instead.
|
|
func (*RingHashConfig) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{4}
|
|
}
|
|
|
|
func (x *RingHashConfig) GetMinimumRingSize() uint64 {
|
|
if x != nil {
|
|
return x.MinimumRingSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
func (x *RingHashConfig) GetMaximumRingSize() uint64 {
|
|
if x != nil {
|
|
return x.MaximumRingSize
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// LeastRequestConfig contains configuration for the "least_request" policy type
|
|
type LeastRequestConfig struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// ChoiceCount determines the number of random healthy hosts from which to select the one with the least requests.
|
|
ChoiceCount uint32 `protobuf:"varint,1,opt,name=choice_count,json=choiceCount,proto3" json:"choice_count,omitempty"`
|
|
}
|
|
|
|
func (x *LeastRequestConfig) Reset() {
|
|
*x = LeastRequestConfig{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[5]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *LeastRequestConfig) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*LeastRequestConfig) ProtoMessage() {}
|
|
|
|
func (x *LeastRequestConfig) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[5]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use LeastRequestConfig.ProtoReflect.Descriptor instead.
|
|
func (*LeastRequestConfig) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{5}
|
|
}
|
|
|
|
func (x *LeastRequestConfig) GetChoiceCount() uint32 {
|
|
if x != nil {
|
|
return x.ChoiceCount
|
|
}
|
|
return 0
|
|
}
|
|
|
|
// HashPolicy defines which attributes will be hashed by hash-based LB algorithms
|
|
type HashPolicy struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Field is the attribute type to hash on.
|
|
// Must be one of "header","cookie", or "query_parameter".
|
|
// Cannot be specified along with SourceIP.
|
|
Field HashPolicyField `protobuf:"varint,1,opt,name=field,proto3,enum=hashicorp.consul.mesh.v2beta1.HashPolicyField" json:"field,omitempty"`
|
|
// FieldValue is the value to hash.
|
|
// ie. header name, cookie name, URL query parameter name
|
|
// Cannot be specified along with SourceIP.
|
|
FieldValue string `protobuf:"bytes,2,opt,name=field_value,json=fieldValue,proto3" json:"field_value,omitempty"`
|
|
// CookieConfig contains configuration for the "cookie" hash policy type.
|
|
CookieConfig *CookieConfig `protobuf:"bytes,3,opt,name=cookie_config,json=cookieConfig,proto3" json:"cookie_config,omitempty"`
|
|
// SourceIP determines whether the hash should be of the source IP rather than of a field and field value.
|
|
// Cannot be specified along with Field or FieldValue.
|
|
SourceIp bool `protobuf:"varint,4,opt,name=source_ip,json=sourceIp,proto3" json:"source_ip,omitempty"`
|
|
// Terminal will short circuit the computation of the hash when multiple hash policies are present.
|
|
// If a hash is computed when a Terminal policy is evaluated,
|
|
// then that hash will be used and subsequent hash policies will be ignored.
|
|
Terminal bool `protobuf:"varint,5,opt,name=terminal,proto3" json:"terminal,omitempty"`
|
|
}
|
|
|
|
func (x *HashPolicy) Reset() {
|
|
*x = HashPolicy{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[6]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *HashPolicy) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*HashPolicy) ProtoMessage() {}
|
|
|
|
func (x *HashPolicy) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[6]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use HashPolicy.ProtoReflect.Descriptor instead.
|
|
func (*HashPolicy) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{6}
|
|
}
|
|
|
|
func (x *HashPolicy) GetField() HashPolicyField {
|
|
if x != nil {
|
|
return x.Field
|
|
}
|
|
return HashPolicyField_HASH_POLICY_FIELD_UNSPECIFIED
|
|
}
|
|
|
|
func (x *HashPolicy) GetFieldValue() string {
|
|
if x != nil {
|
|
return x.FieldValue
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *HashPolicy) GetCookieConfig() *CookieConfig {
|
|
if x != nil {
|
|
return x.CookieConfig
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *HashPolicy) GetSourceIp() bool {
|
|
if x != nil {
|
|
return x.SourceIp
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *HashPolicy) GetTerminal() bool {
|
|
if x != nil {
|
|
return x.Terminal
|
|
}
|
|
return false
|
|
}
|
|
|
|
// CookieConfig contains configuration for the "cookie" hash policy type.
|
|
// This is specified to have Envoy generate a cookie for a client on its first request.
|
|
type CookieConfig struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Generates a session cookie with no expiration.
|
|
Session bool `protobuf:"varint,1,opt,name=session,proto3" json:"session,omitempty"`
|
|
// TTL for generated cookies. Cannot be specified for session cookies.
|
|
// +kubebuilder:validation:Format=duration
|
|
Ttl *durationpb.Duration `protobuf:"bytes,2,opt,name=ttl,proto3" json:"ttl,omitempty"`
|
|
// The path to set for the cookie
|
|
Path string `protobuf:"bytes,3,opt,name=path,proto3" json:"path,omitempty"`
|
|
}
|
|
|
|
func (x *CookieConfig) Reset() {
|
|
*x = CookieConfig{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[7]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *CookieConfig) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*CookieConfig) ProtoMessage() {}
|
|
|
|
func (x *CookieConfig) ProtoReflect() protoreflect.Message {
|
|
mi := &file_pbmesh_v2beta1_destination_policy_proto_msgTypes[7]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use CookieConfig.ProtoReflect.Descriptor instead.
|
|
func (*CookieConfig) Descriptor() ([]byte, []int) {
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP(), []int{7}
|
|
}
|
|
|
|
func (x *CookieConfig) GetSession() bool {
|
|
if x != nil {
|
|
return x.Session
|
|
}
|
|
return false
|
|
}
|
|
|
|
func (x *CookieConfig) GetTtl() *durationpb.Duration {
|
|
if x != nil {
|
|
return x.Ttl
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *CookieConfig) GetPath() string {
|
|
if x != nil {
|
|
return x.Path
|
|
}
|
|
return ""
|
|
}
|
|
|
|
var File_pbmesh_v2beta1_destination_policy_proto protoreflect.FileDescriptor
|
|
|
|
var file_pbmesh_v2beta1_destination_policy_proto_rawDesc = []byte{
|
|
0x0a, 0x27, 0x70, 0x62, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31,
|
|
0x2f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c,
|
|
0x69, 0x63, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1d, 0x68, 0x61, 0x73, 0x68, 0x69,
|
|
0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68,
|
|
0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
|
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69,
|
|
0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x70, 0x62, 0x72, 0x65, 0x73, 0x6f,
|
|
0x75, 0x72, 0x63, 0x65, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
|
|
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x73, 0x74, 0x69,
|
|
0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x64, 0x0a, 0x0c,
|
|
0x70, 0x6f, 0x72, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03,
|
|
0x28, 0x0b, 0x32, 0x41, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63,
|
|
0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74,
|
|
0x61, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f,
|
|
0x6c, 0x69, 0x63, 0x79, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73,
|
|
0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
|
0x67, 0x73, 0x1a, 0x70, 0x0a, 0x10, 0x50, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
|
0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75,
|
|
0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63,
|
|
0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e,
|
|
0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65,
|
|
0x3a, 0x02, 0x38, 0x01, 0x3a, 0x06, 0xa2, 0x93, 0x04, 0x02, 0x08, 0x03, 0x22, 0xdd, 0x02, 0x0a,
|
|
0x11, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66,
|
|
0x69, 0x67, 0x12, 0x42, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x69,
|
|
0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
|
|
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
|
|
0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x54,
|
|
0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x42, 0x0a, 0x0f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
|
0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
|
0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75,
|
|
0x65, 0x73, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x50, 0x0a, 0x0d, 0x6c, 0x6f,
|
|
0x61, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28,
|
|
0x0b, 0x32, 0x2b, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f,
|
|
0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61,
|
|
0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x52, 0x0c,
|
|
0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x6e, 0x0a, 0x17,
|
|
0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
|
|
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e,
|
|
0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c,
|
|
0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f,
|
|
0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x61,
|
|
0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72,
|
|
0x69, 0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x67, 0x0a, 0x16,
|
|
0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x69,
|
|
0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01,
|
|
0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70,
|
|
0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62,
|
|
0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x69,
|
|
0x6f, 0x72, 0x69, 0x74, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x52,
|
|
0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xf5, 0x02, 0x0a, 0x0c, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61,
|
|
0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x12, 0x49, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79,
|
|
0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f,
|
|
0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
|
|
0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e,
|
|
0x63, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63,
|
|
0x79, 0x12, 0x4e, 0x0a, 0x0d, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69,
|
|
0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69,
|
|
0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68,
|
|
0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c,
|
|
0x69, 0x63, 0x79, 0x52, 0x0c, 0x68, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65,
|
|
0x73, 0x12, 0x59, 0x0a, 0x10, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x5f, 0x63,
|
|
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x68, 0x61,
|
|
0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d,
|
|
0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x69, 0x6e, 0x67,
|
|
0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0e, 0x72, 0x69,
|
|
0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x65, 0x0a, 0x14,
|
|
0x6c, 0x65, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x63, 0x6f,
|
|
0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x68, 0x61, 0x73,
|
|
0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x6d, 0x65,
|
|
0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x65, 0x61, 0x73, 0x74,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52,
|
|
0x12, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e,
|
|
0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x68, 0x0a,
|
|
0x0e, 0x52, 0x69, 0x6e, 0x67, 0x48, 0x61, 0x73, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
|
|
0x2a, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f,
|
|
0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x69,
|
|
0x6d, 0x75, 0x6d, 0x52, 0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x6d,
|
|
0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x69, 0x7a, 0x65,
|
|
0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x52,
|
|
0x69, 0x6e, 0x67, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x37, 0x0a, 0x12, 0x4c, 0x65, 0x61, 0x73, 0x74,
|
|
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a,
|
|
0x0c, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
|
|
0x01, 0x28, 0x0d, 0x52, 0x0b, 0x63, 0x68, 0x6f, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x75, 0x6e, 0x74,
|
|
0x22, 0xfe, 0x01, 0x0a, 0x0a, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12,
|
|
0x44, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e,
|
|
0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75,
|
|
0x6c, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x48,
|
|
0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x05,
|
|
0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x76,
|
|
0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c,
|
|
0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65,
|
|
0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e,
|
|
0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c,
|
|
0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f,
|
|
0x6f, 0x6b, 0x69, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6f, 0x6b,
|
|
0x69, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x72,
|
|
0x63, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x73, 0x6f, 0x75,
|
|
0x72, 0x63, 0x65, 0x49, 0x70, 0x12, 0x1a, 0x0a, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61,
|
|
0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61,
|
|
0x6c, 0x22, 0x69, 0x0a, 0x0c, 0x43, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
|
|
0x67, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
|
|
0x28, 0x08, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x03, 0x74,
|
|
0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
|
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
|
|
0x69, 0x6f, 0x6e, 0x52, 0x03, 0x74, 0x74, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68,
|
|
0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x2a, 0x9c, 0x01, 0x0a,
|
|
0x1a, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74,
|
|
0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x2c, 0x0a, 0x28, 0x4c,
|
|
0x4f, 0x43, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x49,
|
|
0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50,
|
|
0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x25, 0x0a, 0x21, 0x4c, 0x4f, 0x43,
|
|
0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x49, 0x4f, 0x52, 0x49, 0x54, 0x49, 0x5a, 0x41,
|
|
0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x01,
|
|
0x12, 0x29, 0x0a, 0x25, 0x4c, 0x4f, 0x43, 0x41, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x50, 0x52, 0x49,
|
|
0x4f, 0x52, 0x49, 0x54, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45,
|
|
0x5f, 0x46, 0x41, 0x49, 0x4c, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x02, 0x2a, 0xee, 0x01, 0x0a, 0x12,
|
|
0x4c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x72, 0x50, 0x6f, 0x6c, 0x69,
|
|
0x63, 0x79, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e,
|
|
0x43, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45,
|
|
0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x4f, 0x41, 0x44,
|
|
0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59,
|
|
0x5f, 0x52, 0x41, 0x4e, 0x44, 0x4f, 0x4d, 0x10, 0x01, 0x12, 0x24, 0x0a, 0x20, 0x4c, 0x4f, 0x41,
|
|
0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43,
|
|
0x59, 0x5f, 0x52, 0x4f, 0x55, 0x4e, 0x44, 0x5f, 0x52, 0x4f, 0x42, 0x49, 0x4e, 0x10, 0x02, 0x12,
|
|
0x26, 0x0a, 0x22, 0x4c, 0x4f, 0x41, 0x44, 0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52,
|
|
0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x4c, 0x45, 0x41, 0x53, 0x54, 0x5f, 0x52, 0x45,
|
|
0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x4c, 0x4f, 0x41, 0x44, 0x5f,
|
|
0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f,
|
|
0x4d, 0x41, 0x47, 0x4c, 0x45, 0x56, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x4c, 0x4f, 0x41, 0x44,
|
|
0x5f, 0x42, 0x41, 0x4c, 0x41, 0x4e, 0x43, 0x45, 0x52, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59,
|
|
0x5f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x48, 0x41, 0x53, 0x48, 0x10, 0x05, 0x2a, 0x97, 0x01, 0x0a,
|
|
0x0f, 0x48, 0x61, 0x73, 0x68, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64,
|
|
0x12, 0x21, 0x0a, 0x1d, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f,
|
|
0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
|
|
0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x50, 0x4f, 0x4c, 0x49,
|
|
0x43, 0x59, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10,
|
|
0x01, 0x12, 0x1c, 0x0a, 0x18, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59,
|
|
0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x43, 0x4f, 0x4f, 0x4b, 0x49, 0x45, 0x10, 0x02, 0x12,
|
|
0x25, 0x0a, 0x21, 0x48, 0x41, 0x53, 0x48, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x46,
|
|
0x49, 0x45, 0x4c, 0x44, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x41, 0x4d,
|
|
0x45, 0x54, 0x45, 0x52, 0x10, 0x03, 0x42, 0x97, 0x02, 0x0a, 0x21, 0x63, 0x6f, 0x6d, 0x2e, 0x68,
|
|
0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6c, 0x2e,
|
|
0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x16, 0x44, 0x65,
|
|
0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50,
|
|
0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
|
0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x63, 0x6f, 0x6e,
|
|
0x73, 0x75, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2d, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63,
|
|
0x2f, 0x70, 0x62, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b,
|
|
0x6d, 0x65, 0x73, 0x68, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0xa2, 0x02, 0x03, 0x48, 0x43,
|
|
0x4d, 0xaa, 0x02, 0x1d, 0x48, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x43, 0x6f,
|
|
0x6e, 0x73, 0x75, 0x6c, 0x2e, 0x4d, 0x65, 0x73, 0x68, 0x2e, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61,
|
|
0x31, 0xca, 0x02, 0x1d, 0x48, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f,
|
|
0x6e, 0x73, 0x75, 0x6c, 0x5c, 0x4d, 0x65, 0x73, 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61,
|
|
0x31, 0xe2, 0x02, 0x29, 0x48, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x5c, 0x43, 0x6f,
|
|
0x6e, 0x73, 0x75, 0x6c, 0x5c, 0x4d, 0x65, 0x73, 0x68, 0x5c, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61,
|
|
0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x20,
|
|
0x48, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x73, 0x75,
|
|
0x6c, 0x3a, 0x3a, 0x4d, 0x65, 0x73, 0x68, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31,
|
|
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_pbmesh_v2beta1_destination_policy_proto_rawDescOnce sync.Once
|
|
file_pbmesh_v2beta1_destination_policy_proto_rawDescData = file_pbmesh_v2beta1_destination_policy_proto_rawDesc
|
|
)
|
|
|
|
func file_pbmesh_v2beta1_destination_policy_proto_rawDescGZIP() []byte {
|
|
file_pbmesh_v2beta1_destination_policy_proto_rawDescOnce.Do(func() {
|
|
file_pbmesh_v2beta1_destination_policy_proto_rawDescData = protoimpl.X.CompressGZIP(file_pbmesh_v2beta1_destination_policy_proto_rawDescData)
|
|
})
|
|
return file_pbmesh_v2beta1_destination_policy_proto_rawDescData
|
|
}
|
|
|
|
var file_pbmesh_v2beta1_destination_policy_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
|
|
var file_pbmesh_v2beta1_destination_policy_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
|
|
var file_pbmesh_v2beta1_destination_policy_proto_goTypes = []interface{}{
|
|
(LocalityPrioritizationMode)(0), // 0: hashicorp.consul.mesh.v2beta1.LocalityPrioritizationMode
|
|
(LoadBalancerPolicy)(0), // 1: hashicorp.consul.mesh.v2beta1.LoadBalancerPolicy
|
|
(HashPolicyField)(0), // 2: hashicorp.consul.mesh.v2beta1.HashPolicyField
|
|
(*DestinationPolicy)(nil), // 3: hashicorp.consul.mesh.v2beta1.DestinationPolicy
|
|
(*DestinationConfig)(nil), // 4: hashicorp.consul.mesh.v2beta1.DestinationConfig
|
|
(*LocalityPrioritization)(nil), // 5: hashicorp.consul.mesh.v2beta1.LocalityPrioritization
|
|
(*LoadBalancer)(nil), // 6: hashicorp.consul.mesh.v2beta1.LoadBalancer
|
|
(*RingHashConfig)(nil), // 7: hashicorp.consul.mesh.v2beta1.RingHashConfig
|
|
(*LeastRequestConfig)(nil), // 8: hashicorp.consul.mesh.v2beta1.LeastRequestConfig
|
|
(*HashPolicy)(nil), // 9: hashicorp.consul.mesh.v2beta1.HashPolicy
|
|
(*CookieConfig)(nil), // 10: hashicorp.consul.mesh.v2beta1.CookieConfig
|
|
nil, // 11: hashicorp.consul.mesh.v2beta1.DestinationPolicy.PortConfigsEntry
|
|
(*durationpb.Duration)(nil), // 12: google.protobuf.Duration
|
|
}
|
|
var file_pbmesh_v2beta1_destination_policy_proto_depIdxs = []int32{
|
|
11, // 0: hashicorp.consul.mesh.v2beta1.DestinationPolicy.port_configs:type_name -> hashicorp.consul.mesh.v2beta1.DestinationPolicy.PortConfigsEntry
|
|
12, // 1: hashicorp.consul.mesh.v2beta1.DestinationConfig.connect_timeout:type_name -> google.protobuf.Duration
|
|
12, // 2: hashicorp.consul.mesh.v2beta1.DestinationConfig.request_timeout:type_name -> google.protobuf.Duration
|
|
6, // 3: hashicorp.consul.mesh.v2beta1.DestinationConfig.load_balancer:type_name -> hashicorp.consul.mesh.v2beta1.LoadBalancer
|
|
5, // 4: hashicorp.consul.mesh.v2beta1.DestinationConfig.locality_prioritization:type_name -> hashicorp.consul.mesh.v2beta1.LocalityPrioritization
|
|
0, // 5: hashicorp.consul.mesh.v2beta1.LocalityPrioritization.mode:type_name -> hashicorp.consul.mesh.v2beta1.LocalityPrioritizationMode
|
|
1, // 6: hashicorp.consul.mesh.v2beta1.LoadBalancer.policy:type_name -> hashicorp.consul.mesh.v2beta1.LoadBalancerPolicy
|
|
9, // 7: hashicorp.consul.mesh.v2beta1.LoadBalancer.hash_policies:type_name -> hashicorp.consul.mesh.v2beta1.HashPolicy
|
|
7, // 8: hashicorp.consul.mesh.v2beta1.LoadBalancer.ring_hash_config:type_name -> hashicorp.consul.mesh.v2beta1.RingHashConfig
|
|
8, // 9: hashicorp.consul.mesh.v2beta1.LoadBalancer.least_request_config:type_name -> hashicorp.consul.mesh.v2beta1.LeastRequestConfig
|
|
2, // 10: hashicorp.consul.mesh.v2beta1.HashPolicy.field:type_name -> hashicorp.consul.mesh.v2beta1.HashPolicyField
|
|
10, // 11: hashicorp.consul.mesh.v2beta1.HashPolicy.cookie_config:type_name -> hashicorp.consul.mesh.v2beta1.CookieConfig
|
|
12, // 12: hashicorp.consul.mesh.v2beta1.CookieConfig.ttl:type_name -> google.protobuf.Duration
|
|
4, // 13: hashicorp.consul.mesh.v2beta1.DestinationPolicy.PortConfigsEntry.value:type_name -> hashicorp.consul.mesh.v2beta1.DestinationConfig
|
|
14, // [14:14] is the sub-list for method output_type
|
|
14, // [14:14] is the sub-list for method input_type
|
|
14, // [14:14] is the sub-list for extension type_name
|
|
14, // [14:14] is the sub-list for extension extendee
|
|
0, // [0:14] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_pbmesh_v2beta1_destination_policy_proto_init() }
|
|
func file_pbmesh_v2beta1_destination_policy_proto_init() {
|
|
if File_pbmesh_v2beta1_destination_policy_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DestinationPolicy); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*DestinationConfig); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LocalityPrioritization); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LoadBalancer); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*RingHashConfig); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*LeastRequestConfig); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*HashPolicy); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*CookieConfig); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
file_pbmesh_v2beta1_destination_policy_proto_msgTypes[3].OneofWrappers = []interface{}{
|
|
(*LoadBalancer_RingHashConfig)(nil),
|
|
(*LoadBalancer_LeastRequestConfig)(nil),
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_pbmesh_v2beta1_destination_policy_proto_rawDesc,
|
|
NumEnums: 3,
|
|
NumMessages: 9,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_pbmesh_v2beta1_destination_policy_proto_goTypes,
|
|
DependencyIndexes: file_pbmesh_v2beta1_destination_policy_proto_depIdxs,
|
|
EnumInfos: file_pbmesh_v2beta1_destination_policy_proto_enumTypes,
|
|
MessageInfos: file_pbmesh_v2beta1_destination_policy_proto_msgTypes,
|
|
}.Build()
|
|
File_pbmesh_v2beta1_destination_policy_proto = out.File
|
|
file_pbmesh_v2beta1_destination_policy_proto_rawDesc = nil
|
|
file_pbmesh_v2beta1_destination_policy_proto_goTypes = nil
|
|
file_pbmesh_v2beta1_destination_policy_proto_depIdxs = nil
|
|
}
|