From ee430d9a40753e4e814bb9f915b07ca73b13c462 Mon Sep 17 00:00:00 2001 From: Andrew Starr-Bochicchio Date: Tue, 12 Feb 2019 20:20:39 -0500 Subject: [PATCH] Only filter on suffix if more than one file. --- .../digitalocean-import/post-processor.go | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/post-processor/digitalocean-import/post-processor.go b/post-processor/digitalocean-import/post-processor.go index fdc8e3af5..b3e7547d9 100644 --- a/post-processor/digitalocean-import/post-processor.go +++ b/post-processor/digitalocean-import/post-processor.go @@ -145,20 +145,26 @@ func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (pac } log.Printf("Rendered space_object_name as %s", p.config.ObjectName) - log.Println("Looking for image in artifact") source := "" - validSuffix := []string{"raw", "img", "qcow2", "vhdx", "vdi", "vmdk", "bz2", "tar.xz", "tar.gz"} - for _, path := range artifact.Files() { - for _, suffix := range validSuffix { - if strings.HasSuffix(path, suffix) { - source = path + artifacts := artifact.Files() + log.Println("Looking for image in artifact") + if len(artifacts) > 1 { + validSuffix := []string{"raw", "img", "qcow2", "vhdx", "vdi", "vmdk", "tar.bz2", "tar.xz", "tar.gz"} + for _, path := range artifact.Files() { + for _, suffix := range validSuffix { + if strings.HasSuffix(path, suffix) { + source = path + break + } + } + if source != "" { break } } - if source != "" { - break - } + } else { + source = artifact.Files()[0] } + if source == "" { return nil, false, fmt.Errorf("Image file not found") }