예제 #1
0
// 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(),
		}
	}
}
예제 #2
0
// 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),
		},
		Tag: r.Tag,
	}, nil
}