// extractFromObjectMeta extracts pointers to metadata fields from a list object func extractFromListMeta(v reflect.Value, a *genericAccessor) error { if err := runtime.FieldPtr(v, "ResourceVersion", &a.resourceVersion); err != nil { return err } if err := runtime.FieldPtr(v, "SelfLink", &a.selfLink); err != nil { return err } return nil }
// extractFromTypeMeta extracts pointers to version and kind fields from an object func extractFromTypeMeta(v reflect.Value, a *genericAccessor) error { if err := runtime.FieldPtr(v, "APIVersion", &a.apiVersion); err != nil { return err } if err := runtime.FieldPtr(v, "Kind", &a.kind); err != nil { return err } return nil }
// extractFromObjectMeta extracts pointers to metadata fields from an object func extractFromObjectMeta(v reflect.Value, a *genericAccessor) error { if err := runtime.FieldPtr(v, "Namespace", &a.namespace); err != nil { return err } if err := runtime.FieldPtr(v, "Tenant", &a.tenant); err != nil { return err } if err := runtime.FieldPtr(v, "Name", &a.name); err != nil { return err } if err := runtime.FieldPtr(v, "GenerateName", &a.generateName); err != nil { return err } if err := runtime.FieldPtr(v, "UID", &a.uid); err != nil { return err } if err := runtime.FieldPtr(v, "ResourceVersion", &a.resourceVersion); err != nil { return err } if err := runtime.FieldPtr(v, "SelfLink", &a.selfLink); err != nil { return err } if err := runtime.FieldPtr(v, "Labels", &a.labels); err != nil { return err } if err := runtime.FieldPtr(v, "Annotations", &a.annotations); err != nil { return err } return nil }
// extractFromObjectMeta extracts pointers to metadata fields from an object func extractFromObjectMeta(v reflect.Value, a *genericAccessor) error { if err := runtime.FieldPtr(v, "Namespace", &a.namespace); err != nil { return err } if err := runtime.FieldPtr(v, "Name", &a.name); err != nil { return err } if err := runtime.FieldPtr(v, "GenerateName", &a.generateName); err != nil { return err } if err := runtime.FieldPtr(v, "UID", &a.uid); err != nil { return err } if err := runtime.FieldPtr(v, "ResourceVersion", &a.resourceVersion); err != nil { return err } if err := runtime.FieldPtr(v, "SelfLink", &a.selfLink); err != nil { return err } if err := runtime.FieldPtr(v, "Labels", &a.labels); err != nil { return err } if err := runtime.FieldPtr(v, "Annotations", &a.annotations); err != nil { return err } ownerReferences := v.FieldByName("OwnerReferences") if !ownerReferences.IsValid() { return fmt.Errorf("struct %#v lacks OwnerReferences type", v) } if ownerReferences.Kind() != reflect.Slice { return fmt.Errorf("expect %v to be a slice", ownerReferences.Kind()) } a.ownerReferences = ownerReferences.Addr() return nil }
// ListMetaFor returns a pointer to a provided object's ListMeta, // or an error if the object does not have that pointer. // TODO: allow runtime.Unknown to extract this object func ListMetaFor(obj runtime.Object) (*unversioned.ListMeta, error) { v, err := conversion.EnforcePtr(obj) if err != nil { return nil, err } var meta *unversioned.ListMeta err = runtime.FieldPtr(v, "ListMeta", &meta) return meta, err }