vagrant

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 30, 2013 License: MPL-2.0 Imports: 17 Imported by: 0

Documentation

Overview

vagrant implements the packer.PostProcessor interface and adds a post-processor that turns artifacts of known builders into Vagrant boxes.

Index

Constants

View Source
const BuilderId = "mitchellh.post-processor.vagrant"

Variables

This section is empty.

Functions

func CopyContents added in v0.1.5

func CopyContents(dst, src string) error

Copies a file by copying the contents of the file to another place.

func DecompressOva added in v0.3.5

func DecompressOva(dir, src string) error

DecompressOva takes an ova file and decompresses it into the target directory.

func DirToBox

func DirToBox(dst, dir string, ui packer.Ui, level int) error

DirToBox takes the directory and compresses it into a Vagrant-compatible box. This function does not perform checks to verify that dir is actually a proper box. This is an expected precondition.

func WriteMetadata

func WriteMetadata(dir string, contents interface{}) error

WriteMetadata writes the "metadata.json" file for a Vagrant box.

Types

type AWSProvider added in v0.5.0

type AWSProvider struct{}

func (*AWSProvider) Process added in v0.5.0

func (p *AWSProvider) Process(ui packer.Ui, artifact packer.Artifact, dir string) (vagrantfile string, metadata map[string]interface{}, err error)

type Artifact

type Artifact struct {
	Path     string
	Provider string
}

func NewArtifact

func NewArtifact(provider, path string) *Artifact

func (*Artifact) BuilderId

func (*Artifact) BuilderId() string

func (*Artifact) Destroy

func (a *Artifact) Destroy() error

func (*Artifact) Files

func (a *Artifact) Files() []string

func (*Artifact) Id

func (a *Artifact) Id() string

func (*Artifact) String

func (a *Artifact) String() string

type Config

type Config struct {
	common.PackerConfig `mapstructure:",squash"`

	CompressionLevel    int      `mapstructure:"compression_level"`
	Include             []string `mapstructure:"include"`
	OutputPath          string   `mapstructure:"output"`
	Override            map[string]interface{}
	VagrantfileTemplate string `mapstructure:"vagrantfile_template"`
	// contains filtered or unexported fields
}

type DigitalOceanProvider added in v0.5.0

type DigitalOceanProvider struct{}

func (*DigitalOceanProvider) Process added in v0.5.0

func (p *DigitalOceanProvider) Process(ui packer.Ui, artifact packer.Artifact, dir string) (vagrantfile string, metadata map[string]interface{}, err error)

type PostProcessor

type PostProcessor struct {
	// contains filtered or unexported fields
}

func (*PostProcessor) Configure

func (p *PostProcessor) Configure(raws ...interface{}) error

func (*PostProcessor) PostProcess

func (p *PostProcessor) PostProcess(ui packer.Ui, artifact packer.Artifact) (packer.Artifact, bool, error)

type Provider added in v0.5.0

type Provider interface {
	// Process is called to process an artifact into a Vagrant box. The
	// artifact is given as well as the temporary directory path to
	// put things.
	//
	// The Provider should return the contents for the Vagrantfile,
	// any metadata (including the provider type in that), and an error
	// if any.
	Process(packer.Ui, packer.Artifact, string) (vagrantfile string, metadata map[string]interface{}, err error)
}

Provider is the interface that each provider must implement in order to package the artifacts into a Vagrant-compatible box.

type VBoxProvider added in v0.5.0

type VBoxProvider struct{}

func (*VBoxProvider) Process added in v0.5.0

func (p *VBoxProvider) Process(ui packer.Ui, artifact packer.Artifact, dir string) (vagrantfile string, metadata map[string]interface{}, err error)

type VMwareProvider added in v0.5.0

type VMwareProvider struct{}

func (*VMwareProvider) Process added in v0.5.0

func (p *VMwareProvider) Process(ui packer.Ui, artifact packer.Artifact, dir string) (vagrantfile string, metadata map[string]interface{}, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL