// ObjectReference returns an object reference from the image reference func (r *ImageRef) ObjectReference() kapi.ObjectReference { switch { case r.Stream != nil: return kapi.ObjectReference{ Kind: "ImageStreamTag", Name: imageapi.NameAndTag(r.Stream.Name, r.Tag), Namespace: r.Stream.Namespace, } case r.AsImageStream: return kapi.ObjectReference{ Kind: "ImageStreamTag", Name: imageapi.NameAndTag(r.Name, r.Tag), } default: return kapi.ObjectReference{ Kind: "DockerImage", Name: r.String(), } } }
// BuildOutput returns the BuildOutput of an image reference func (r *ImageRef) BuildOutput() (*buildapi.BuildOutput, error) { if r == nil { return &buildapi.BuildOutput{}, nil } imageRepo, err := r.ImageStream() if err != nil { return nil, err } kind := "ImageStreamTag" if !r.AsImageStream { kind = "DockerImage" } return &buildapi.BuildOutput{ To: &kapi.ObjectReference{ Kind: kind, Name: imageapi.NameAndTag(imageRepo.Name, r.Tag), }, }, nil }