packer-cn/artifact.go

44 lines
652 B
Go
Raw Normal View History

package main
2017-06-29 18:08:49 -04:00
import (
"github.com/vmware/govmomi/object"
"context"
)
2017-06-27 03:55:49 -04:00
const BuilderId = "jetbrains.vsphere"
type Artifact struct {
2017-07-02 16:29:50 -04:00
Name string
VM *object.VirtualMachine
}
func (a *Artifact) BuilderId() string {
return BuilderId
}
func (a *Artifact) Files() []string {
return []string{}
}
func (a *Artifact) Id() string {
2017-07-02 16:29:50 -04:00
return a.Name
}
func (a *Artifact) String() string {
2017-07-02 16:29:50 -04:00
return a.Name
}
func (a *Artifact) State(name string) interface{} {
return nil
}
func (a *Artifact) Destroy() error {
2017-06-29 18:08:49 -04:00
ctx := context.TODO()
2017-07-02 16:29:50 -04:00
task, err := a.VM.Destroy(ctx)
2017-06-29 18:08:49 -04:00
if err != nil {
return err
}
_, err = task.WaitForResult(ctx, nil)
2017-07-02 16:29:50 -04:00
return err
}