INNER CODE UNIT · Go

func

getseabird/seabird · api/cluster.go:176

func (cluster *Cluster) GetReference(ctx context.Context, ref corev1.ObjectReference) (client.Object, error) {
	var object client.Object
	gvk := schema.FromAPIVersionAndKind(ref.APIVersion, ref.Kind).String()
	for key, t := range cluster.Scheme.AllKnownTypes() {
		if key.String() == gvk {
			object = reflect.New(t).Interface().(client.Object)
			break
		}
	}

	if err := cluster.Get(ctx, types.NamespacedName{Namespace: ref.Namespace, Name: ref.Name}, object); err != nil {
		return nil, err
	}

	if err := cluster.SetObjectGVK(object); err != nil {
		klog.Infof("Cluster/SetObjectGVK: %s", err)
	}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…