mirror of https://github.com/hashicorp/packer
Merge pull request #5380 from bennu/local-vsphere-template
enable vsphere-template post processor to work with local builderspull/5888/head
commit
0935ba3e9d
@ -0,0 +1,47 @@
|
||||
package vsphere
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
)
|
||||
|
||||
const BuilderId = "packer.post-processor.vsphere"
|
||||
|
||||
type Artifact struct {
|
||||
files []string
|
||||
datastore string
|
||||
vmfolder string
|
||||
vmname string
|
||||
}
|
||||
|
||||
func NewArtifact(datastore, vmfolder, vmname string, files []string) *Artifact {
|
||||
return &Artifact{
|
||||
files: files,
|
||||
datastore: datastore,
|
||||
vmfolder: vmfolder,
|
||||
vmname: vmname,
|
||||
}
|
||||
}
|
||||
|
||||
func (*Artifact) BuilderId() string {
|
||||
return BuilderId
|
||||
}
|
||||
|
||||
func (a *Artifact) Files() []string {
|
||||
return a.files
|
||||
}
|
||||
|
||||
func (a *Artifact) Id() string {
|
||||
return fmt.Sprintf("%s::%s::%s", a.datastore, a.vmfolder, a.vmname)
|
||||
}
|
||||
|
||||
func (a *Artifact) String() string {
|
||||
return fmt.Sprintf("VM: %s Folder: %s Datastore: %s", a.vmname, a.vmfolder, a.datastore)
|
||||
}
|
||||
|
||||
func (*Artifact) State(name string) interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *Artifact) Destroy() error {
|
||||
return nil
|
||||
}
|
||||
@ -0,0 +1,21 @@
|
||||
package vsphere
|
||||
|
||||
import (
|
||||
"github.com/hashicorp/packer/packer"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestArtifact_ImplementsArtifact(t *testing.T) {
|
||||
var raw interface{}
|
||||
raw = &Artifact{}
|
||||
if _, ok := raw.(packer.Artifact); !ok {
|
||||
t.Fatalf("Artifact should be a Artifact")
|
||||
}
|
||||
}
|
||||
|
||||
func TestArtifact_Id(t *testing.T) {
|
||||
artifact := NewArtifact("datastore", "vmfolder", "vmname", nil)
|
||||
if artifact.Id() != "datastore::vmfolder::vmname" {
|
||||
t.Fatalf("must return datastore, vmfolder and vmname splitted by :: as Id")
|
||||
}
|
||||
}
|
||||
Loading…
Reference in new issue