packer-cn/artifact.go

44 lines
652 B
Go
Raw Normal View History

package main
2017-06-30 01:08:49 +03:00
import (
"github.com/vmware/govmomi/object"
"context"
)
2017-06-27 10:55:49 +03:00
const BuilderId = "jetbrains.vsphere"
type Artifact struct {
2017-07-02 23:29:50 +03: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 23:29:50 +03:00
return a.Name
}
func (a *Artifact) String() string {
2017-07-02 23:29:50 +03:00
return a.Name
}
func (a *Artifact) State(name string) interface{} {
return nil
}
func (a *Artifact) Destroy() error {
2017-06-30 01:08:49 +03:00
ctx := context.TODO()
2017-07-02 23:29:50 +03:00
task, err := a.VM.Destroy(ctx)
2017-06-30 01:08:49 +03:00
if err != nil {
return err
}
_, err = task.WaitForResult(ctx, nil)
2017-07-02 23:29:50 +03:00
return err
}