github.com/alouche/packer@v0.3.7/builder/virtualbox/step_suppress_messages.go (about)

     1  package virtualbox
     2  
     3  import (
     4  	"fmt"
     5  	"github.com/mitchellh/multistep"
     6  	"github.com/mitchellh/packer/packer"
     7  	"log"
     8  )
     9  
    10  // This step sets some variables in VirtualBox so that annoying
    11  // pop-up messages don't exist.
    12  type stepSuppressMessages struct{}
    13  
    14  func (stepSuppressMessages) Run(state multistep.StateBag) multistep.StepAction {
    15  	driver := state.Get("driver").(Driver)
    16  	ui := state.Get("ui").(packer.Ui)
    17  
    18  	log.Println("Suppressing annoying messages in VirtualBox")
    19  	if err := driver.SuppressMessages(); err != nil {
    20  		err := fmt.Errorf("Error configuring VirtualBox to suppress messages: %s", err)
    21  		state.Put("error", err)
    22  		ui.Error(err.Error())
    23  		return multistep.ActionHalt
    24  	}
    25  
    26  	return multistep.ActionContinue
    27  }
    28  
    29  func (stepSuppressMessages) Cleanup(multistep.StateBag) {}