Merge pull request #7800 from hashicorp/smb_getter

Smb getter
This commit is contained in:
Megan Marsh 2019-06-27 12:05:15 -07:00 committed by GitHub
commit 44d2198a1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 0 deletions

View File

@ -7,6 +7,7 @@ import (
"fmt"
"log"
"os"
"path/filepath"
"runtime"
"strings"
@ -101,10 +102,21 @@ func init() {
// can leave the source file where it is & tell us where it is.
Copy: true,
}
getters["smb"] = &getter.FileGetter{
Copy: true,
}
}
}
func (s *StepDownload) download(ctx context.Context, ui packer.Ui, source string) (string, error) {
if runtime.GOOS == "windows" {
// Check that the user specified a UNC path, and promote it to an smb:// uri.
if strings.HasPrefix(source, "\\\\") && len(source) > 2 && source[2] != '?' {
source = filepath.ToSlash(source[2:])
source = fmt.Sprintf("smb://%s", source)
}
}
u, err := urlhelper.Parse(source)
if err != nil {
return "", fmt.Errorf("url parse: %s", err)