github.com/kaixiang/packer@v0.5.2-0.20140114230416-1f5786b0d7f1/post-processor/vagrant/provider.go (about)

     1  package vagrant
     2  
     3  import (
     4  	"github.com/mitchellh/packer/packer"
     5  )
     6  
     7  // Provider is the interface that each provider must implement in order
     8  // to package the artifacts into a Vagrant-compatible box.
     9  type Provider interface {
    10  	// Process is called to process an artifact into a Vagrant box. The
    11  	// artifact is given as well as the temporary directory path to
    12  	// put things.
    13  	//
    14  	// The Provider should return the contents for the Vagrantfile,
    15  	// any metadata (including the provider type in that), and an error
    16  	// if any.
    17  	Process(packer.Ui, packer.Artifact, string) (vagrantfile string, metadata map[string]interface{}, err error)
    18  }