usagecache

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2021 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	RelationUses = "uses"
)

Variables

This section is empty.

Functions

func NewUsageCache

func NewUsageCache(manager manager.Manager, trigger Trigger) *usageCache

Types

type Extractor

type Extractor interface {
	ExtractUsage(object client.Object) utils.ObjectIds
}

type ExtractorFunc

type ExtractorFunc func(object client.Object) utils.ObjectIds

func (ExtractorFunc) ExtractUsage

func (e ExtractorFunc) ExtractUsage(object client.Object) utils.ObjectIds

type ObjectUsageInfo

type ObjectUsageInfo map[string]utils.ObjectIds

func NewObjectUsageInfo

func NewObjectUsageInfo(config ...interface{}) ObjectUsageInfo

func (ObjectUsageInfo) Add

func (i ObjectUsageInfo) Add(relation string, ids utils.ObjectIds)

func (ObjectUsageInfo) Equal

func (i ObjectUsageInfo) Equal(other ObjectUsageInfo) bool

func (ObjectUsageInfo) GetObjectIds

func (i ObjectUsageInfo) GetObjectIds() utils.ObjectIds

func (ObjectUsageInfo) GetObjectIdsForGK

func (i ObjectUsageInfo) GetObjectIdsForGK(gk schema.GroupKind) utils.ObjectIds

func (ObjectUsageInfo) GetObjectIdsForRelation

func (i ObjectUsageInfo) GetObjectIdsForRelation(relation string) utils.ObjectIds

func (ObjectUsageInfo) GetObjectIdsForRelationToGK

func (i ObjectUsageInfo) GetObjectIdsForRelationToGK(relation string, gk schema.GroupKind) utils.ObjectIds

type Trigger

type Trigger interface {
	Trigger(id utils.ObjectId)
}

type UsageCache

type UsageCache interface {
	Wait()

	RegisterExtractor(ctx context.Context, source schema.GroupKind, relation string, target schema.GroupKind, extractor Extractor) error
	ReplaceObject(object client.Object) (utils.ObjectId, utils.ObjectIds)
	ReplaceObjectUsageInfo(id utils.ObjectId, usages ObjectUsageInfo) utils.ObjectIds

	DeleteObject(id utils.ObjectId) utils.ObjectIds

	GetUsersFor(id utils.ObjectId) utils.ObjectIds
	GetUsersForGK(id utils.ObjectId, gk schema.GroupKind) utils.ObjectIds
	GetUsersForRelationToGK(id utils.ObjectId, relation string, gk schema.GroupKind) utils.ObjectIds
	GetUsersForRelation(id utils.ObjectId, relation string) utils.ObjectIds
	GetUsedObjectsFor(id utils.ObjectId) utils.ObjectIds
	GetUsedObjectsForGK(id utils.ObjectId, gk schema.GroupKind) utils.ObjectIds
	GetUsedObjectsForRelationToGK(id utils.ObjectId, relation string, gk schema.GroupKind) utils.ObjectIds
	GetUsedObjectsForRelation(id utils.ObjectId, relation string) utils.ObjectIds
}

Jump to

Keyboard shortcuts

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