chore: add Bsusurrogate Run function skeleton

This commit is contained in:
Marin Salinas 2019-01-29 15:07:32 -06:00 committed by Megan Marsh
parent ca8ab3b5b0
commit de973fba0e
1 changed files with 29 additions and 1 deletions

View File

@ -3,9 +3,11 @@
package bsusurrogate
import (
"crypto/tls"
"errors"
"fmt"
"log"
"net/http"
osccommon "github.com/hashicorp/packer/builder/osc/common"
"github.com/hashicorp/packer/common"
@ -13,6 +15,7 @@ import (
"github.com/hashicorp/packer/helper/multistep"
"github.com/hashicorp/packer/packer"
"github.com/hashicorp/packer/template/interpolate"
"github.com/outscale/osc-go/oapi"
)
const BuilderId = "digitalonus.osc.bsusurrogate"
@ -102,7 +105,32 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, error) {
}
func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error) {
log.Println("Running Outscale Builder...")
clientConfig, err := b.config.Config()
if err != nil {
return nil, err
}
skipClient := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
},
}
oapiconn := oapi.NewClient(clientConfig, skipClient)
// Setup the state bag and initial state for the steps
state := new(multistep.BasicStateBag)
state.Put("config", &b.config)
state.Put("oapi", oapiconn)
state.Put("clientConfig", clientConfig)
state.Put("hook", hook)
state.Put("ui", ui)
steps := []multistep.Step{}
b.runner = common.NewRunner(steps, b.config.PackerConfig, ui)
b.runner.Run(state)
return nil, nil
}