github.com/tilt-dev/tilt@v0.33.15-0.20240515162809-0a22ed45d8a0/internal/k8s/ref.go (about) 1 package k8s 2 3 import ( 4 v1 "k8s.io/api/core/v1" 5 "k8s.io/apimachinery/pkg/types" 6 ) 7 8 type ObjRefList []v1.ObjectReference 9 10 func (o ObjRefList) ContainsUID(uid types.UID) bool { 11 _, ok := o.GetByUID(uid) 12 return ok 13 } 14 15 func (o ObjRefList) GetByUID(uid types.UID) (v1.ObjectReference, bool) { 16 for _, ref := range o { 17 if ref.UID == uid { 18 return ref, true 19 } 20 } 21 return v1.ObjectReference{}, false 22 } 23 24 func (o ObjRefList) UIDSet() UIDSet { 25 out := NewUIDSet() 26 for _, ref := range o { 27 out.Add(ref.UID) 28 } 29 return out 30 } 31 32 func ToRefList(entities []K8sEntity) ObjRefList { 33 refs := make(ObjRefList, len(entities)) 34 for i, entity := range entities { 35 refs[i] = entity.ToObjectReference() 36 } 37 return refs 38 }