diff --git a/builder/osc/bsusurrogate/builder.go b/builder/osc/bsusurrogate/builder.go new file mode 100644 index 000000000..a3b46d827 --- /dev/null +++ b/builder/osc/bsusurrogate/builder.go @@ -0,0 +1,41 @@ +// The bsusurrogate package contains a packer.Builder implementation that +// builds a new EBS-backed AMI using an ephemeral instance. +package bsusurrogate + +import ( + "log" + + "github.com/hashicorp/packer/common" + "github.com/hashicorp/packer/helper/multistep" + "github.com/hashicorp/packer/packer" + "github.com/hashicorp/packer/template/interpolate" +) + +const BuilderId = "digitalonus.osc.bsusurrogate" + +type Config struct { + common.PackerConfig `mapstructure:",squash"` + ctx interpolate.Context +} + +type Builder struct { + config Config + runner multistep.Runner +} + +func (b *Builder) Prepare(raws ...interface{}) ([]string, error) { + log.Println("Preparing Outscale Builder...") + return nil, nil +} + +func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error) { + log.Println("Running Outscale Builder...") + return nil, nil +} + +func (b *Builder) Cancel() { + if b.runner != nil { + log.Println("Cancelling the step runner...") + b.runner.Cancel() + } +} diff --git a/builder/osc/bsusurrogate/builder_test.go b/builder/osc/bsusurrogate/builder_test.go new file mode 100644 index 000000000..d91f46af8 --- /dev/null +++ b/builder/osc/bsusurrogate/builder_test.go @@ -0,0 +1,15 @@ +package bsusurrogate + +import ( + "testing" + + "github.com/hashicorp/packer/packer" +) + +func TestBuilder_ImplementsBuilder(t *testing.T) { + var raw interface{} + raw = &Builder{} + if _, ok := raw.(packer.Builder); !ok { + t.Fatal("Builder should be a builder") + } +}