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  }