enterprise

package
v1.18.0-beta30 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2024 License: Apache-2.0 Imports: 39 Imported by: 0

Documentation

Index

Constants

View Source
const RateLimitConfigType = types.TypePrefix + "/glooe.solo.io.RateLimitConfig"

Variables

View Source
var File_github_com_solo_io_gloo_projects_gloo_api_v1_enterprise_ratelimit_proto protoreflect.FileDescriptor
View Source
var RateLimitConfigTypeRecord = client.NewTypeRecord(
	RateLimitConfigType,

	func() cache.ResourceProto { return &RateLimitConfig{} },

	func(r cache.ResourceProto) cache.Resource {
		return &RateLimitConfigXdsResourceWrapper{Resource: r.(*RateLimitConfig)}
	},
)

Define a type record. This is used by the generic client library.

Functions

func NewRateLimitConfigClient

func NewRateLimitConfigClient(nodeinfo *core.Node, typedApply ApplyRateLimitConfig) client.Client

func RegisterRateLimitDiscoveryServiceServer

func RegisterRateLimitDiscoveryServiceServer(s *grpc.Server, srv RateLimitDiscoveryServiceServer)

Types

type ApplyRateLimitConfig

type ApplyRateLimitConfig func(version string, resources []*RateLimitConfig) error

The apply functions receives resources and returns an error if they were applied correctly. In theory the configuration can become valid in the future (i.e. eventually consistent), but I don't think we need to worry about that now As our current use cases only have one configuration resource, so no interactions are expected.

type RateLimitConfig

type RateLimitConfig struct {

	// @solo-kit:resource.name
	Domain         string                    `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	Descriptors    []*v1alpha1.Descriptor    `protobuf:"bytes,2,rep,name=descriptors,proto3" json:"descriptors,omitempty"`
	SetDescriptors []*v1alpha1.SetDescriptor `protobuf:"bytes,3,rep,name=set_descriptors,json=setDescriptors,proto3" json:"set_descriptors,omitempty"`
	// contains filtered or unexported fields
}

@solo-kit:xds-service=RateLimitDiscoveryService @solo-kit:resource.no_references

func (*RateLimitConfig) Clone added in v1.8.24

func (m *RateLimitConfig) Clone() proto.Message

Clone function

func (*RateLimitConfig) Descriptor deprecated

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

Deprecated: Use RateLimitConfig.ProtoReflect.Descriptor instead.

func (*RateLimitConfig) Equal

func (m *RateLimitConfig) Equal(that interface{}) bool

Equal function

func (*RateLimitConfig) GetDescriptors

func (x *RateLimitConfig) GetDescriptors() []*v1alpha1.Descriptor

func (*RateLimitConfig) GetDomain

func (x *RateLimitConfig) GetDomain() string

func (*RateLimitConfig) GetSetDescriptors added in v1.6.0

func (x *RateLimitConfig) GetSetDescriptors() []*v1alpha1.SetDescriptor

func (*RateLimitConfig) Hash deprecated added in v1.2.13

func (m *RateLimitConfig) Hash(hasher hash.Hash64) (uint64, error)

Hash function

Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.

func (*RateLimitConfig) HashUnique added in v1.18.0

func (m *RateLimitConfig) HashUnique(hasher hash.Hash64) (uint64, error)

HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.

func (*RateLimitConfig) ProtoMessage

func (*RateLimitConfig) ProtoMessage()

func (*RateLimitConfig) ProtoReflect added in v1.6.0

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

func (*RateLimitConfig) Reset

func (x *RateLimitConfig) Reset()

func (*RateLimitConfig) String

func (x *RateLimitConfig) String() string

type RateLimitConfigXdsResourceWrapper

type RateLimitConfigXdsResourceWrapper struct {
	// TODO(yuval-k): This is public for mitchellh hashstructure to work properly. consider better alternatives.
	Resource *RateLimitConfig
}

Defined a resource - to be used by snapshot

func NewRateLimitConfigXdsResourceWrapper

func NewRateLimitConfigXdsResourceWrapper(resourceProto *RateLimitConfig) *RateLimitConfigXdsResourceWrapper

func (*RateLimitConfigXdsResourceWrapper) References

func (*RateLimitConfigXdsResourceWrapper) ResourceProto

func (*RateLimitConfigXdsResourceWrapper) Self

type RateLimitDiscoveryServiceClient

type RateLimitDiscoveryServiceClient interface {
	StreamRateLimitConfig(ctx context.Context, opts ...grpc.CallOption) (RateLimitDiscoveryService_StreamRateLimitConfigClient, error)
	DeltaRateLimitConfig(ctx context.Context, opts ...grpc.CallOption) (RateLimitDiscoveryService_DeltaRateLimitConfigClient, error)
	FetchRateLimitConfig(ctx context.Context, in *v2.DiscoveryRequest, opts ...grpc.CallOption) (*v2.DiscoveryResponse, error)
}

RateLimitDiscoveryServiceClient is the client API for RateLimitDiscoveryService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

type RateLimitDiscoveryServiceServer

type RateLimitDiscoveryServiceServer interface {
	StreamRateLimitConfig(RateLimitDiscoveryService_StreamRateLimitConfigServer) error
	DeltaRateLimitConfig(RateLimitDiscoveryService_DeltaRateLimitConfigServer) error
	FetchRateLimitConfig(context.Context, *v2.DiscoveryRequest) (*v2.DiscoveryResponse, error)
}

RateLimitDiscoveryServiceServer is the server API for RateLimitDiscoveryService service.

func NewRateLimitDiscoveryServiceServer

func NewRateLimitDiscoveryServiceServer(genericServer server.Server) RateLimitDiscoveryServiceServer

type RateLimitDiscoveryService_DeltaRateLimitConfigClient

type RateLimitDiscoveryService_DeltaRateLimitConfigClient interface {
	Send(*v2.DeltaDiscoveryRequest) error
	Recv() (*v2.DeltaDiscoveryResponse, error)
	grpc.ClientStream
}

type RateLimitDiscoveryService_DeltaRateLimitConfigServer

type RateLimitDiscoveryService_DeltaRateLimitConfigServer interface {
	Send(*v2.DeltaDiscoveryResponse) error
	Recv() (*v2.DeltaDiscoveryRequest, error)
	grpc.ServerStream
}

type RateLimitDiscoveryService_StreamRateLimitConfigClient

type RateLimitDiscoveryService_StreamRateLimitConfigClient interface {
	Send(*v2.DiscoveryRequest) error
	Recv() (*v2.DiscoveryResponse, error)
	grpc.ClientStream
}

type RateLimitDiscoveryService_StreamRateLimitConfigServer

type RateLimitDiscoveryService_StreamRateLimitConfigServer interface {
	Send(*v2.DiscoveryResponse) error
	Recv() (*v2.DiscoveryRequest, error)
	grpc.ServerStream
}

type UnimplementedRateLimitDiscoveryServiceServer

type UnimplementedRateLimitDiscoveryServiceServer struct {
}

UnimplementedRateLimitDiscoveryServiceServer can be embedded to have forward compatible implementations.

func (*UnimplementedRateLimitDiscoveryServiceServer) DeltaRateLimitConfig

func (*UnimplementedRateLimitDiscoveryServiceServer) FetchRateLimitConfig

func (*UnimplementedRateLimitDiscoveryServiceServer) StreamRateLimitConfig

Directories

Path Synopsis
options
ai
dlp
extauth/v1/kube/apis/enterprise.gloo.solo.io/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
extauth/v1/kube/client/clientset/versioned
This package has the automatically generated clientset.
This package has the automatically generated clientset.
extauth/v1/kube/client/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
extauth/v1/kube/client/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
extauth/v1/kube/client/clientset/versioned/typed/enterprise.gloo.solo.io/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
extauth/v1/kube/client/clientset/versioned/typed/enterprise.gloo.solo.io/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
gcp
graphql/v1beta1/kube/apis/enterprise.gloo.solo.io/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
graphql/v1beta1/kube/apis/graphql.gloo.solo.io/v1beta1
Package v1beta1 is the v1beta1 version of the API.
Package v1beta1 is the v1beta1 version of the API.
jwt
waf

Jump to

Keyboard shortcuts

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