config

package
v0.0.0-...-d19fc40 Latest Latest
Warning

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

Go to latest
Published: Sep 29, 2020 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	State_name = map[int32]string{
		0: "UNKNOWN",
		1: "READY",
	}
	State_value = map[string]int32{
		"UNKNOWN": 0,
		"READY":   1,
	}
)

Enum value maps for State.

View Source
var File_pkg_broker_config_targets_proto protoreflect.FileDescriptor

Functions

func BrokerKey

func BrokerKey(namespace, name string) string

BrokerKey returns the key of a broker.

func SplitTriggerKey

func SplitTriggerKey(key string) (string, string, string)

SplitTriggerKey splits a trigger key into namespace, brokerName, targetName.

func TriggerKey

func TriggerKey(namespace, broker, target string) string

TriggerKey returns the key of a trigger. Format is namespace/brokerName/targetName.

Types

type Broker

type Broker struct {

	// The id of the object. E.g. UID of the resource.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The name of the object.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// The namespace of the object.
	Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// The broker address.
	// Will we have more than one address?
	Address string `protobuf:"bytes,4,opt,name=address,proto3" json:"address,omitempty"`
	// The decouple queue for the broker.
	DecoupleQueue *Queue `protobuf:"bytes,5,opt,name=decouple_queue,json=decoupleQueue,proto3" json:"decouple_queue,omitempty"`
	// All targets of the broker.
	Targets map[string]*Target `` /* 155-byte string literal not displayed */
	// The broker state.
	State State `protobuf:"varint,7,opt,name=state,proto3,enum=config.State" json:"state,omitempty"`
	// contains filtered or unexported fields
}

Represents a broker.

func (*Broker) Descriptor deprecated

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

Deprecated: Use Broker.ProtoReflect.Descriptor instead.

func (*Broker) GetAddress

func (x *Broker) GetAddress() string

func (*Broker) GetDecoupleQueue

func (x *Broker) GetDecoupleQueue() *Queue

func (*Broker) GetId

func (x *Broker) GetId() string

func (*Broker) GetName

func (x *Broker) GetName() string

func (*Broker) GetNamespace

func (x *Broker) GetNamespace() string

func (*Broker) GetState

func (x *Broker) GetState() State

func (*Broker) GetTargets

func (x *Broker) GetTargets() map[string]*Target

func (*Broker) Key

func (b *Broker) Key() string

Key returns the broker key.

func (*Broker) ProtoMessage

func (*Broker) ProtoMessage()

func (*Broker) ProtoReflect

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

func (*Broker) Reset

func (x *Broker) Reset()

func (*Broker) String

func (x *Broker) String() string

type BrokerMutation

type BrokerMutation interface {
	// SetID sets the broker ID.
	SetID(id string) BrokerMutation
	// SetAddress sets the broker address.
	SetAddress(address string) BrokerMutation
	// SetDecoupleQueue sets the broker decouple queue.
	SetDecoupleQueue(q *Queue) BrokerMutation
	// SetState sets the broker state.
	SetState(s State) BrokerMutation
	// UpsertTargets upserts Targets to the broker.
	// The targets' namespace and broker will be forced to be
	// the same as the broker's namespace and name.
	UpsertTargets(...*Target) BrokerMutation
	// DeleteTargets targets deletes Targets from the broker.
	DeleteTargets(...*Target) BrokerMutation
	// Delete deletes the broker.
	Delete()
}

BrokerMutation provides functions to mutate a Broker. The changes made via the BrokerMutation must be "committed" altogether.

type CachedTargets

type CachedTargets struct {
	Value atomic.Value
}

CachedTargets provides a in-memory cached copy of targets.

func (*CachedTargets) Bytes

func (ct *CachedTargets) Bytes() ([]byte, error)

Bytes serializes all the targets.

func (*CachedTargets) EqualsBytes

func (ct *CachedTargets) EqualsBytes(b []byte) bool

EqualsBytes checks if the current targets config equals the given targets config in bytes.

func (*CachedTargets) EqualsString

func (ct *CachedTargets) EqualsString(s string) bool

EqualsString checks if the current targets config equals the given targets config in string.

func (*CachedTargets) GetBroker

func (ct *CachedTargets) GetBroker(namespace, name string) (*Broker, bool)

GetBroker returns a broker and its targets if it exists. Do not modify the returned Broker copy.

func (*CachedTargets) GetBrokerByKey

func (ct *CachedTargets) GetBrokerByKey(key string) (*Broker, bool)

GetBrokerByKey returns a broker and its targets if it exists. Do not modify the returned Broker copy.

func (*CachedTargets) GetTarget

func (ct *CachedTargets) GetTarget(namespace, brokerName, targetName string) (*Target, bool)

GetTarget returns a target. Do not modify the returned Target copy.

func (*CachedTargets) GetTargetByKey

func (ct *CachedTargets) GetTargetByKey(key string) (*Target, bool)

GetTargetByKey returns a target by its trigger key. The format of trigger key is namespace/brokerName/targetName. Do not modify the returned Target copy.

func (*CachedTargets) Load

func (ct *CachedTargets) Load() *TargetsConfig

Load atomically loads a stored TargetsConfig. If there was no TargetsConfig stored, nil will be returned.

func (*CachedTargets) RangeAllTargets

func (ct *CachedTargets) RangeAllTargets(f func(*Target) bool)

RangeAllTargets ranges over all targets. Do not modify the given Target copy.

func (*CachedTargets) RangeBrokers

func (ct *CachedTargets) RangeBrokers(f func(*Broker) bool)

RangeBrokers ranges over all brokers. Do not modify the given Broker copy.

func (*CachedTargets) Store

func (ct *CachedTargets) Store(t *TargetsConfig)

Store atomically stores a TargetsConfig.

func (*CachedTargets) String

func (ct *CachedTargets) String() string

String returns the text format of all the targets.

type Queue

type Queue struct {
	Topic        string `protobuf:"bytes,1,opt,name=topic,proto3" json:"topic,omitempty"`
	Subscription string `protobuf:"bytes,2,opt,name=subscription,proto3" json:"subscription,omitempty"`
	State        State  `protobuf:"varint,3,opt,name=state,proto3,enum=config.State" json:"state,omitempty"`
	// contains filtered or unexported fields
}

A pubsub "queue".

func (*Queue) Descriptor deprecated

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

Deprecated: Use Queue.ProtoReflect.Descriptor instead.

func (*Queue) GetState

func (x *Queue) GetState() State

func (*Queue) GetSubscription

func (x *Queue) GetSubscription() string

func (*Queue) GetTopic

func (x *Queue) GetTopic() string

func (*Queue) ProtoMessage

func (*Queue) ProtoMessage()

func (*Queue) ProtoReflect

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

func (*Queue) Reset

func (x *Queue) Reset()

func (*Queue) String

func (x *Queue) String() string

type ReadonlyTargets

type ReadonlyTargets interface {
	// RangeAllTargets ranges over all targets.
	// Do not modify the given Target copy.
	RangeAllTargets(func(*Target) bool)
	// GetTarget returns a target.
	// Do not modify the returned Target copy.
	GetTarget(namespace, brokerName, targetName string) (*Target, bool)
	// GetTargetByKey returns a target by its trigger key. The format of trigger key is namespace/brokerName/targetName.
	// Do not modify the returned Target copy.
	GetTargetByKey(key string) (*Target, bool)
	// GetBroker returns a broker and its targets if it exists.
	// Do not modify the returned Broker copy.
	GetBroker(namespace, name string) (*Broker, bool)
	// GetBroker by its key (namespace/name).
	GetBrokerByKey(key string) (*Broker, bool)
	// RangeBrokers ranges over all brokers.
	// Do not modify the given Broker copy.
	RangeBrokers(func(*Broker) bool)
	// Bytes serializes all the targets.
	Bytes() ([]byte, error)
	// String returns the text format of all the targets.
	String() string
	// EqualsBytes checks if the current targets config equals the given
	// targets config in bytes.
	EqualsBytes([]byte) bool
	// EqualsString checks if the current targets config equals the given
	// targets config in string.
	EqualsString(string) bool
}

ReadonlyTargets provides "read" functions for brokers and targets.

type State

type State int32

The state of the object. We may add additional intermediate states if needed.

const (
	State_UNKNOWN State = 0
	State_READY   State = 1
)

func (State) Descriptor

func (State) Descriptor() protoreflect.EnumDescriptor

func (State) Enum

func (x State) Enum() *State

func (State) EnumDescriptor deprecated

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

Deprecated: Use State.Descriptor instead.

func (State) Number

func (x State) Number() protoreflect.EnumNumber

func (State) String

func (x State) String() string

func (State) Type

func (State) Type() protoreflect.EnumType

type Target

type Target struct {

	// The id of the object. E.g. UID of the resource.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// The name of the object.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// The namespace of the object.
	Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// The broker name that the trigger is referencing.
	Broker string `protobuf:"bytes,4,opt,name=broker,proto3" json:"broker,omitempty"`
	// The resolved subscriber URI of the target.
	Address string `protobuf:"bytes,5,opt,name=address,proto3" json:"address,omitempty"`
	// Optional filters from the trigger.
	FilterAttributes map[string]string `` /* 197-byte string literal not displayed */
	// The retry queue for the target.
	RetryQueue *Queue `protobuf:"bytes,7,opt,name=retry_queue,json=retryQueue,proto3" json:"retry_queue,omitempty"`
	// The target state.
	State State `protobuf:"varint,8,opt,name=state,proto3,enum=config.State" json:"state,omitempty"`
	// contains filtered or unexported fields
}

Target defines the config schema for a broker subscription target.

func (*Target) Descriptor deprecated

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

Deprecated: Use Target.ProtoReflect.Descriptor instead.

func (*Target) GetAddress

func (x *Target) GetAddress() string

func (*Target) GetBroker

func (x *Target) GetBroker() string

func (*Target) GetFilterAttributes

func (x *Target) GetFilterAttributes() map[string]string

func (*Target) GetId

func (x *Target) GetId() string

func (*Target) GetName

func (x *Target) GetName() string

func (*Target) GetNamespace

func (x *Target) GetNamespace() string

func (*Target) GetRetryQueue

func (x *Target) GetRetryQueue() *Queue

func (*Target) GetState

func (x *Target) GetState() State

func (*Target) Key

func (t *Target) Key() string

Key returns the target key.

func (*Target) ProtoMessage

func (*Target) ProtoMessage()

func (*Target) ProtoReflect

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

func (*Target) Reset

func (x *Target) Reset()

func (*Target) String

func (x *Target) String() string

type Targets

type Targets interface {
	ReadonlyTargets
	// MutateBroker mutates a broker by namespace and name.
	// If the broker doesn't exist, it will be added (unless Delete() is called).
	MutateBroker(namespace, name string, mutate func(BrokerMutation))
}

Targets provides "read" and "write" functions for broker targets.

type TargetsConfig

type TargetsConfig struct {

	// Keybed by broker namespace/name.
	Brokers map[string]*Broker `` /* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

TargetsConfig is the collection of all Targets.

func (*TargetsConfig) Descriptor deprecated

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

Deprecated: Use TargetsConfig.ProtoReflect.Descriptor instead.

func (*TargetsConfig) GetBrokers

func (x *TargetsConfig) GetBrokers() map[string]*Broker

func (*TargetsConfig) ProtoMessage

func (*TargetsConfig) ProtoMessage()

func (*TargetsConfig) ProtoReflect

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

func (*TargetsConfig) Reset

func (x *TargetsConfig) Reset()

func (*TargetsConfig) String

func (x *TargetsConfig) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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