website: update docs for vagrant pp

This commit is contained in:
Mitchell Hashimoto 2013-12-19 14:10:28 -08:00
parent 6518c92e25
commit b6795081b8
1 changed files with 14 additions and 72 deletions

View File

@ -18,7 +18,7 @@ documentation on [using post-processors](/docs/templates/post-processors.html)
in templates. This knowledge will be expected for the remainder of
this document.
Because Vagrant boxes are [provider-specific](#),
Because Vagrant boxes are [provider-specific](http://docs.vagrantup.com/v2/boxes/format.html),
the Vagrant post-processor is hardcoded to understand how to convert
the artifacts of certain builders into proper boxes for their
respective providers.
@ -27,6 +27,7 @@ Currently, the Vagrant post-processor can create boxes for the following
providers.
* AWS
* DigitalOcean
* VirtualBox
* VMware
@ -47,82 +48,23 @@ However, if you want to configure things a bit more, the post-processor
does expose some configuration options. The available options are listed
below, with more details about certain options in following sections.
* `compression_level` (integer) - An integer repesenting the
compression level to use when creating the Vagrant box. Valid
values range from 0 to 9, with 0 being no compression and 9 being
the best compression. By default, compression is enabled at level 1.
* `include` (array of strings) - Paths to files to include in the
Vagrant box. These files will each be copied into the top level directory
of the Vagrant box (regardless of their paths). They can then be used
from the Vagrantfile.
* `output` (string) - The full path to the box file that will be created
by this post-processor. This is a
[configuration template](/docs/templates/configuration-templates.html).
The variable `Provider` is replaced by the Vagrant provider the box is for.
The variable `ArtifactId` is replaced by the ID of the input artifact.
The variable `BuildName` is replaced with the name of the build.
By default, the value of this config is `packer_{{.BuildName}}_{{.Provider}}.box`.
* `aws`, `virtualbox`, or `vmware` (objects) - These are used to configure
the specific options for certain providers. A reference of available
configuration parameters for each is in the section below.
### AWS Provider
The AWS provider itself can be configured with specific options:
* `vagrantfile_template` (string) - Path to a template to use for the
Vagrantfile that is packaged with the box. The contents of the file must be a valid Go
[text template](http://golang.org/pkg/text/template). By default
this is a template that simply sets the AMIs for the various regions
of the AWS build.
* `compression_level` (integer) - An integer repesenting the
compression level to use when creating the Vagrant box. Valid
values range from 0 to 9, with 0 being no compression and 9 being
the best compression.
The `vagrantfile_template` has the `Images` variable which is a map
of region (string) to AMI ID (string). An example Vagrantfile template for
AWS is shown below. The example simply sets the AMI for each region.
```
Vagrant.configure("2") do |config|
config.vm.provider "aws" do |aws|
{{ range $region, $ami := .Images }}
aws.region_config "{{ $region }}", ami: "{{ $ami }}"
{{ end }}
end
end
```
### VirtualBox Provider
The VirtualBox provider itself can be configured with specific options:
* `vagrantfile_template` (string) - Path to a template to use for the
Vagrantfile that is packaged with the box. The contents of the file must be a valid Go
[text template](http://golang.org/pkg/text/template). By default this is
a template that just sets the base MAC address so that networking works.
* `compression_level` (integer) - An integer repesenting the
compression level to use when creating the Vagrant box. Valid
values range from 0 to 9, with 0 being no compression and 9 being
the best compression.
The `vagrantfile_template` has the `BaseMACAddress` variable which is a string
containing the MAC address of the first network interface. This must be set
in the Vagrantfile for networking to work properly with Vagrant. An example
Vagrantfile template is shown below:
```
Vagrant.configure("2") do |config|
config.vm.base_mac = "{{ .BaseMacAddress }}"
end
```
### VMware Provider
The VMware provider itself can be configured with specific options:
* `vagrantfile_template` (string) - Path to a template to use for the
Vagrantfile that is packaged with the box. The contents of the file must be a valid Go
[text template](http://golang.org/pkg/text/template). By default no
Vagrantfile is packaged with the box. Note that currently no variables
are available in the template, but this may change in the future.
* `compression_level` (integer) - An integer repesenting the
compression level to use when creating the Vagrant box. Valid
values range from 0 to 9, with 0 being no compression and 9 being
the best compression.
Vagrantfile that is packaged with the box.