docs: generate builders partials from struct comments
This commit is contained in:
parent
4bf6a56d71
commit
4ae10f08b2
|
@ -0,0 +1,138 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
"go/ast"
|
||||
"go/parser"
|
||||
"go/token"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/fatih/camelcase"
|
||||
"github.com/fatih/structtag"
|
||||
)
|
||||
|
||||
func main() {
|
||||
args := flag.Args()
|
||||
if len(args) == 0 {
|
||||
// Default: process the file
|
||||
args = []string{os.Getenv("GOFILE")}
|
||||
}
|
||||
fname := args[0]
|
||||
|
||||
absFilePath, err := filepath.Abs(fname)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
paths := strings.SplitAfter(absFilePath, "packer"+string(os.PathSeparator))
|
||||
packerDir := paths[0]
|
||||
builderName, _ := filepath.Split(paths[1])
|
||||
builderName = strings.Trim(builderName, string(os.PathSeparator))
|
||||
|
||||
b, err := ioutil.ReadFile(fname)
|
||||
if err != nil {
|
||||
fmt.Printf("ReadFile: %+v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fset := token.NewFileSet()
|
||||
f, err := parser.ParseFile(fset, fname, b, parser.ParseComments)
|
||||
if err != nil {
|
||||
fmt.Printf("ParseFile: %+v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
for _, decl := range f.Decls {
|
||||
typeDecl, ok := decl.(*ast.GenDecl)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
typeSpec, ok := typeDecl.Specs[0].(*ast.TypeSpec)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
structDecl, ok := typeSpec.Type.(*ast.StructType)
|
||||
if !ok {
|
||||
continue
|
||||
}
|
||||
|
||||
fields := structDecl.Fields.List
|
||||
required := Struct{
|
||||
SourcePath: paths[1],
|
||||
Name: typeSpec.Name.Name,
|
||||
Filename: "_" + typeSpec.Name.Name + "-required.html.md",
|
||||
}
|
||||
notRequired := Struct{
|
||||
SourcePath: paths[1],
|
||||
Name: typeSpec.Name.Name,
|
||||
Filename: "_" + typeSpec.Name.Name + "-not-required.html.md",
|
||||
}
|
||||
|
||||
for _, field := range fields {
|
||||
if len(field.Names) == 0 || field.Tag == nil {
|
||||
continue
|
||||
}
|
||||
tag := field.Tag.Value[1:]
|
||||
tag = tag[:len(tag)-1]
|
||||
tags, err := structtag.Parse(tag)
|
||||
if err != nil {
|
||||
fmt.Printf("structtag.Parse(%s): err: %v", field.Tag.Value, err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
mstr, err := tags.Get("mapstructure")
|
||||
if err != nil {
|
||||
continue
|
||||
}
|
||||
name := mstr.Name
|
||||
|
||||
if name == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
var docs string
|
||||
if field.Doc != nil {
|
||||
docs = field.Doc.Text()
|
||||
} else {
|
||||
docs = strings.Join(camelcase.Split(field.Names[0].Name), " ")
|
||||
}
|
||||
|
||||
field := Field{
|
||||
Name: name,
|
||||
Type: fmt.Sprintf("%s", b[field.Type.Pos()-1:field.Type.End()-1]),
|
||||
Docs: docs,
|
||||
}
|
||||
if req, err := tags.Get("required"); err == nil && req.Value() == "true" {
|
||||
required.Fields = append(required.Fields, field)
|
||||
} else {
|
||||
notRequired.Fields = append(notRequired.Fields, field)
|
||||
}
|
||||
}
|
||||
|
||||
dir := filepath.Join(packerDir, "website", "source", "partials", builderName)
|
||||
os.MkdirAll(dir, 0755)
|
||||
|
||||
for _, str := range []Struct{required, notRequired} {
|
||||
if len(str.Fields) == 0 {
|
||||
continue
|
||||
}
|
||||
outputPath := filepath.Join(dir, str.Filename)
|
||||
|
||||
outputFile, err := os.Create(outputPath)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer outputFile.Close()
|
||||
|
||||
err = structDocsTemplate.Execute(outputFile, str)
|
||||
if err != nil {
|
||||
fmt.Printf("%v", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"text/template"
|
||||
)
|
||||
|
||||
type Field struct {
|
||||
Name string
|
||||
Type string
|
||||
Docs string
|
||||
}
|
||||
|
||||
type Struct struct {
|
||||
SourcePath string
|
||||
Name string
|
||||
Filename string
|
||||
Fields []Field
|
||||
}
|
||||
|
||||
var structDocsTemplate = template.Must(template.New("structDocsTemplate").
|
||||
Funcs(template.FuncMap{
|
||||
"indent": indent,
|
||||
}).
|
||||
Parse(`<!-- Code generated from the comments of the {{ .Name }} struct in {{ .SourcePath }}; DO NOT EDIT MANUALLY -->
|
||||
{{range .Fields}}
|
||||
- ` + "`" + `{{ .Name}}` + "`" + ` ({{ .Type }}) - {{ .Docs | indent 4 }}
|
||||
{{- end -}}`))
|
||||
|
||||
func indent(spaces int, v string) string {
|
||||
pad := strings.Repeat(" ", spaces)
|
||||
return strings.Replace(v, "\n", "\n"+pad, -1)
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
<!-- Code generated from the comments of the AlicloudAccessConfig struct in builder/alicloud/ecs/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `skip_region_validation` (bool) - The region validation can be skipped
|
||||
if this value is true, the default value is false.
|
||||
|
||||
- `security_token` (string) - STS access token, can be set through template
|
||||
or by exporting as environment variable such as
|
||||
export SecurityToken=value.
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!-- Code generated from the comments of the AlicloudAccessConfig struct in builder/alicloud/ecs/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `access_key` (string) - This is the Alicloud access key. It must be
|
||||
provided, but it can also be sourced from the ALICLOUD_ACCESS_KEY
|
||||
environment variable.
|
||||
|
||||
- `secret_key` (string) - This is the Alicloud secret key. It must be
|
||||
provided, but it can also be sourced from the ALICLOUD_SECRET_KEY
|
||||
environment variable.
|
||||
|
||||
- `region` (string) - This is the Alicloud region. It must be provided, but
|
||||
it can also be sourced from the ALICLOUD_REGION environment variables.
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<!-- Code generated from the comments of the AlicloudDiskDevice struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `disk_name` (string) - The value of disk name is blank by default. [2,
|
||||
128] English or Chinese characters, must begin with an
|
||||
uppercase/lowercase letter or Chinese character. Can contain numbers,
|
||||
., _ and -. The disk name will appear on the console. It cannot
|
||||
begin with http:// or https://.
|
||||
|
||||
- `disk_category` (string) - Category of the system disk. Optional values
|
||||
are:
|
||||
- cloud - general cloud disk
|
||||
- cloud_efficiency - efficiency cloud disk
|
||||
- cloud_ssd - cloud SSD
|
||||
|
||||
- `disk_size` (int) - Size of the system disk, measured in GiB. Value
|
||||
range: [20, 500]. The specified value must be equal to or greater
|
||||
than max{20, ImageSize}. Default value: max{40, ImageSize}.
|
||||
|
||||
- `disk_snapshot_id` (string) - Snapshots are used to create the data
|
||||
disk After this parameter is specified, Size is ignored. The actual
|
||||
size of the created disk is the size of the specified snapshot.
|
||||
|
||||
- `disk_description` (string) - The value of disk description is blank by
|
||||
default. [2, 256] characters. The disk description will appear on the
|
||||
console. It cannot begin with http:// or https://.
|
||||
|
||||
- `disk_delete_with_instance` (bool) - Whether or not the disk is
|
||||
released along with the instance:
|
||||
|
||||
- `disk_device` (string) - Device information of the related instance:
|
||||
such as /dev/xvdb It is null unless the Status is In_use.
|
||||
|
||||
- `disk_encrypted` (*bool) - Whether or not to encrypt the data disk.
|
||||
If this option is set to true, the data disk will be encryped and corresponding snapshot in the target image will also be encrypted. By
|
||||
default, if this is an extra data disk, Packer will not encrypt the
|
||||
data disk. Otherwise, Packer will keep the encryption setting to what
|
||||
it was in the source image. Please refer to Introduction of ECS disk encryption
|
||||
for more details.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<!-- Code generated from the comments of the AlicloudDiskDevices struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `system_disk_mapping` (AlicloudDiskDevice) - Image disk mapping for system
|
||||
disk.
|
||||
|
||||
- `image_disk_mappings` ([]AlicloudDiskDevice) - Add one or more data
|
||||
disks to the image.
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<!-- Code generated from the comments of the AlicloudImageConfig struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_version` (string) - The version number of the image, with a length
|
||||
limit of 1 to 40 English characters.
|
||||
|
||||
- `image_description` (string) - The description of the image, with a length
|
||||
limit of 0 to 256 characters. Leaving it blank means null, which is the
|
||||
default value. It cannot begin with http:// or https://.
|
||||
|
||||
- `image_share_account` ([]string) - The IDs of to-be-added Aliyun
|
||||
accounts to which the image is shared. The number of accounts is 1 to 10.
|
||||
If number of accounts is greater than 10, this parameter is ignored.
|
||||
|
||||
- `image_unshare_account` ([]string) - Alicloud Image UN Share Accounts
|
||||
- `image_copy_regions` ([]string) - Copy to the destination regionIds.
|
||||
|
||||
- `image_copy_names` ([]string) - The name of the destination image,
|
||||
[2, 128] English or Chinese characters. It must begin with an
|
||||
uppercase/lowercase letter or a Chinese character, and may contain numbers,
|
||||
_ or -. It cannot begin with http:// or https://.
|
||||
|
||||
- `image_encrypted` (*bool) - Whether or not to encrypt the target images, including those copied if image_copy_regions is specified. If this option
|
||||
is set to true, a temporary image will be created from the provisioned
|
||||
instance in the main region and an encrypted copy will be generated in the
|
||||
same region. By default, Packer will keep the encryption setting to what
|
||||
it was in the source image.
|
||||
|
||||
- `image_force_delete` (bool) - If this value is true, when the target
|
||||
image names including those copied are duplicated with existing images, it
|
||||
will delete the existing images and then create the target images,
|
||||
otherwise, the creation will fail. The default value is false. Check
|
||||
image_name and image_copy_names options for names of target images. If
|
||||
-force option is
|
||||
provided in build command, this option can be omitted and taken as true.
|
||||
|
||||
- `image_force_delete_snapshots` (bool) - If this value is true, when
|
||||
delete the duplicated existing images, the source snapshots of those images
|
||||
will be delete either. If
|
||||
-force option is
|
||||
provided in build command, this option can be omitted and taken as true.
|
||||
|
||||
- `image_force_delete_instances` (bool) - Alicloud Image Force Delete Instances
|
||||
- `image_ignore_data_disks` (bool) - If this value is true, the image
|
||||
created will not include any snapshot of data disks. This option would be
|
||||
useful for any circumstance that default data disks with instance types are
|
||||
not concerned. The default value is false.
|
||||
|
||||
- `skip_region_validation` (bool) - The region validation can be skipped
|
||||
if this value is true, the default value is false.
|
||||
|
||||
- `tags` (map[string]string) - Tags applied to the destination
|
||||
image and relevant snapshots.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Code generated from the comments of the AlicloudImageConfig struct in builder/alicloud/ecs/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_name` (string) - The name of the user-defined image, [2, 128]
|
||||
English or Chinese characters. It must begin with an uppercase/lowercase
|
||||
letter or a Chinese character, and may contain numbers, _ or -. It
|
||||
cannot begin with http:// or https://.
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
<!-- Code generated from the comments of the RunConfig struct in builder/alicloud/ecs/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `associate_public_ip_address` (bool) - Associate Public Ip Address
|
||||
- `zone_id` (string) - ID of the zone to which the disk belongs.
|
||||
|
||||
- `io_optimized` (bool) - Whether an ECS instance is I/O optimized or not.
|
||||
The default value is false.
|
||||
|
||||
- `description` (string) - Description
|
||||
- `force_stop_instance` (bool) - Whether to force shutdown upon device
|
||||
restart. The default value is false.
|
||||
|
||||
- `disable_stop_instance` (bool) - If this option is set to true, Packer
|
||||
will not stop the instance for you, and you need to make sure the instance
|
||||
will be stopped in the final provisioner command. Otherwise, Packer will
|
||||
timeout while waiting the instance to be stopped. This option is provided
|
||||
for some specific scenarios that you want to stop the instance by yourself.
|
||||
E.g., Sysprep a windows which may shutdown the instance within its command.
|
||||
The default value is false.
|
||||
|
||||
- `security_group_id` (string) - ID of the security group to which a newly
|
||||
created instance belongs. Mutual access is allowed between instances in one
|
||||
security group. If not specified, the newly created instance will be added
|
||||
to the default security group. If the default group doesn’t exist, or the
|
||||
number of instances in it has reached the maximum limit, a new security
|
||||
group will be created automatically.
|
||||
|
||||
- `security_group_name` (string) - The security group name. The default value
|
||||
is blank. [2, 128] English or Chinese characters, must begin with an
|
||||
uppercase/lowercase letter or Chinese character. Can contain numbers, .,
|
||||
_ or -. It cannot begin with http:// or https://.
|
||||
|
||||
- `user_data` (string) - User data to apply when launching the instance. Note
|
||||
that you need to be careful about escaping characters due to the templates
|
||||
being JSON. It is often more convenient to use user_data_file, instead.
|
||||
Packer will not automatically wait for a user script to finish before
|
||||
shutting down the instance this must be handled in a provisioner.
|
||||
|
||||
- `user_data_file` (string) - Path to a file that will be used for the user
|
||||
data when launching the instance.
|
||||
|
||||
- `vpc_id` (string) - VPC ID allocated by the system.
|
||||
|
||||
- `vpc_name` (string) - The VPC name. The default value is blank. [2, 128]
|
||||
English or Chinese characters, must begin with an uppercase/lowercase
|
||||
letter or Chinese character. Can contain numbers, _ and -. The disk
|
||||
description will appear on the console. Cannot begin with http:// or
|
||||
https://.
|
||||
|
||||
- `vpc_cidr_block` (string) - Value options: 192.168.0.0/16 and
|
||||
172.16.0.0/16. When not specified, the default value is 172.16.0.0/16.
|
||||
|
||||
- `vswitch_id` (string) - The ID of the VSwitch to be used.
|
||||
|
||||
- `vswitch_id` (string) - The ID of the VSwitch to be used.
|
||||
|
||||
- `instance_name` (string) - Display name of the instance, which is a string
|
||||
of 2 to 128 Chinese or English characters. It must begin with an
|
||||
uppercase/lowercase letter or a Chinese character and can contain numerals,
|
||||
., _, or -. The instance name is displayed on the Alibaba Cloud
|
||||
console. If this parameter is not specified, the default value is
|
||||
InstanceId of the instance. It cannot begin with http:// or https://.
|
||||
|
||||
- `internet_charge_type` (string) - Internet charge type, which can be
|
||||
PayByTraffic or PayByBandwidth. Optional values:
|
||||
|
||||
- `internet_max_bandwidth_out` (int) - Maximum outgoing bandwidth to the
|
||||
public network, measured in Mbps (Mega bits per second).
|
||||
|
||||
- `wait_snapshot_ready_timeout` (int) - Timeout of creating snapshot(s).
|
||||
The default timeout is 3600 seconds if this option is not set or is set
|
||||
to 0. For those disks containing lots of data, it may require a higher
|
||||
timeout value.
|
||||
|
||||
- `ssh_private_ip` (bool) - If this value is true, packer will connect to
|
||||
the ECS created through private ip instead of allocating a public ip or an
|
||||
EIP. The default value is false.
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!-- Code generated from the comments of the RunConfig struct in builder/alicloud/ecs/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `instance_type` (string) - Type of the instance. For values, see Instance
|
||||
Type
|
||||
Table.
|
||||
You can also obtain the latest instance type table by invoking the
|
||||
Querying Instance Type
|
||||
Table
|
||||
interface.
|
||||
|
||||
- `source_image` (string) - This is the base image id which you want to
|
||||
create your customized images.
|
||||
|
|
@ -0,0 +1,130 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `chroot_mounts` ([][]string) - This is a list of devices to
|
||||
mount into the chroot environment. This configuration parameter requires
|
||||
some additional documentation which is in the Chroot
|
||||
Mounts section. Please read that section for more
|
||||
information on how to use this.
|
||||
|
||||
- `command_wrapper` (string) - How to run shell commands. This defaults to
|
||||
{{.Command}}. This may be useful to set if you want to set environmental
|
||||
variables or perhaps run it with sudo or so on. This is a configuration
|
||||
template where the .Command variable is replaced with the command to be
|
||||
run. Defaults to {{.Command}}.
|
||||
|
||||
- `copy_files` ([]string) - Paths to files on the running EC2
|
||||
instance that will be copied into the chroot environment prior to
|
||||
provisioning. Defaults to /etc/resolv.conf so that DNS lookups work. Pass
|
||||
an empty list to skip copying /etc/resolv.conf. You may need to do this
|
||||
if you're building an image that uses systemd.
|
||||
|
||||
- `device_path` (string) - The path to the device where the root volume of
|
||||
the source AMI will be attached. This defaults to "" (empty string), which
|
||||
forces Packer to find an open device automatically.
|
||||
|
||||
- `nvme_device_path` (string) - When we call the mount command (by default
|
||||
mount -o device dir), the string provided in nvme_mount_path will
|
||||
replace device in that command. When this option is not set, device in
|
||||
that command will be something like /dev/sdf1, mirroring the attached
|
||||
device name. This assumption works for most instances but will fail with c5
|
||||
and m5 instances. In order to use the chroot builder with c5 and m5
|
||||
instances, you must manually set nvme_device_path and device_path.
|
||||
|
||||
- `from_scratch` (bool) - Build a new volume instead of starting from an
|
||||
existing AMI root volume snapshot. Default false. If true, source_ami
|
||||
is no longer used and the following options become required:
|
||||
ami_virtualization_type, pre_mount_commands and root_volume_size. The
|
||||
below options are also required in this mode only:
|
||||
|
||||
- `mount_options` ([]string) - Options to supply the mount command
|
||||
when mounting devices. Each option will be prefixed with -o and supplied
|
||||
to the mount command ran by Packer. Because this command is ran in a
|
||||
shell, user discretion is advised. See this manual page for the mount
|
||||
command for valid file
|
||||
system specific options.
|
||||
|
||||
- `mount_partition` (string) - The partition number containing the /
|
||||
partition. By default this is the first partition of the volume, (for
|
||||
example, xvda1) but you can designate the entire block device by setting
|
||||
"mount_partition": "0" in your config, which will mount xvda instead.
|
||||
|
||||
- `mount_path` (string) - The path where the volume will be mounted. This is
|
||||
where the chroot environment will be. This defaults to
|
||||
/mnt/packer-amazon-chroot-volumes/{{.Device}}. This is a configuration
|
||||
template where the .Device variable is replaced with the name of the
|
||||
device where the volume is attached.
|
||||
|
||||
- `post_mount_commands` ([]string) - As pre_mount_commands, but the
|
||||
commands are executed after mounting the root device and before the extra
|
||||
mount and copy steps. The device and mount path are provided by
|
||||
{{.Device}} and {{.MountPath}}.
|
||||
|
||||
- `pre_mount_commands` ([]string) - A series of commands to execute
|
||||
after attaching the root volume and before mounting the chroot. This is not
|
||||
required unless using from_scratch. If so, this should include any
|
||||
partitioning and filesystem creation commands. The path to the device is
|
||||
provided by {{.Device}}.
|
||||
|
||||
- `root_device_name` (string) - The root device name. For example, xvda.
|
||||
|
||||
- `root_volume_size` (int64) - The size of the root volume in GB for the
|
||||
chroot environment and the resulting AMI. Default size is the snapshot size
|
||||
of the source_ami unless from_scratch is true, in which case this
|
||||
field must be defined.
|
||||
|
||||
- `root_volume_type` (string) - The type of EBS volume for the chroot
|
||||
environment and resulting AMI. The default value is the type of the
|
||||
source_ami, unless from_scratch is true, in which case the default
|
||||
value is gp2. You can only specify io1 if building based on top of a
|
||||
source_ami which is also io1.
|
||||
|
||||
- `source_ami_filter` (awscommon.AmiFilterOptions) - Filters used to populate the source_ami
|
||||
field. Example:
|
||||
|
||||
``` json
|
||||
{
|
||||
"source_ami_filter": {
|
||||
"filters": {
|
||||
"virtualization-type": "hvm",
|
||||
"name": "ubuntu/images/*ubuntu-xenial-16.04-amd64-server-*",
|
||||
"root-device-type": "ebs"
|
||||
},
|
||||
"owners": ["099720109477"],
|
||||
"most_recent": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE:
|
||||
This will fail unless *exactly* one AMI is returned. In the above example,
|
||||
`most_recent` will cause this to succeed by selecting the newest image.
|
||||
|
||||
- `filters` (map of strings) - filters used to select a `source_ami`.
|
||||
NOTE: This will fail unless *exactly* one AMI is returned. Any filter
|
||||
described in the docs for
|
||||
[DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)
|
||||
is valid.
|
||||
|
||||
- `owners` (array of strings) - Filters the images by their owner. You
|
||||
may specify one or more AWS account IDs, "self" (which will use the
|
||||
account whose credentials you are using to run Packer), or an AWS owner
|
||||
alias: for example, "amazon", "aws-marketplace", or "microsoft". This
|
||||
option is required for security reasons.
|
||||
|
||||
- `most_recent` (boolean) - Selects the newest created image when true.
|
||||
This is most useful for selecting a daily distro build.
|
||||
|
||||
You may set this in place of `source_ami` or in conjunction with it. If you
|
||||
set this in conjunction with `source_ami`, the `source_ami` will be added
|
||||
to the filter. The provided `source_ami` must meet all of the filtering
|
||||
criteria provided in `source_ami_filter`; this pins the AMI returned by the
|
||||
filter, but will cause Packer to fail if the `source_ami` does not exist.
|
||||
|
||||
- `root_volume_tags` (awscommon.TagMap) - Tags to apply to the
|
||||
volumes that are *launched*. This is a [template
|
||||
engine](/docs/templates/engine.html), see [Build template
|
||||
data](#build-template-data) for more information.
|
||||
|
||||
- `ami_architecture` (string) - what architecture to use when registering the
|
||||
final AMI; valid options are "x86_64" or "arm64". Defaults to "x86_64".
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/chroot/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_ami` (string) - The source AMI whose root volume will be copied and
|
||||
provisioned on the currently running instance. This must be an EBS-backed
|
||||
AMI with a root volume snapshot that you have access to. Note: this is not
|
||||
used when from_scratch is set to true.
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
<!-- Code generated from the comments of the AMIBlockDevices struct in builder/amazon/common/block_device.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `ami_block_device_mappings` ([]BlockDevice) - Add one or more [block device
|
||||
mappings](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html)
|
||||
to the AMI. These will be attached when booting a new instance from your
|
||||
AMI. To add a block device during the Packer build see
|
||||
`launch_block_device_mappings` below. Your options here may vary
|
||||
depending on the type of VM you use. The block device mappings allow for
|
||||
the following configuration:
|
||||
- `delete_on_termination` (boolean) - Indicates whether the EBS volume is
|
||||
deleted on instance termination. Default `false`. **NOTE**: If this
|
||||
value is not explicitly set to `true` and volumes are not cleaned up by
|
||||
an alternative method, additional volumes will accumulate after every
|
||||
build.
|
||||
|
||||
- `device_name` (string) - The device name exposed to the instance (for
|
||||
example, `/dev/sdh` or `xvdh`). Required for every device in the block
|
||||
device mapping.
|
||||
|
||||
- `encrypted` (boolean) - Indicates whether or not to encrypt the volume.
|
||||
By default, Packer will keep the encryption setting to what it was in
|
||||
the source image. Setting `false` will result in an unencrypted device,
|
||||
and `true` will result in an encrypted one.
|
||||
|
||||
- `iops` (number) - The number of I/O operations per second (IOPS) that
|
||||
the volume supports. See the documentation on
|
||||
[IOPs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html)
|
||||
for more information
|
||||
|
||||
- `kms_key_id` (string) - The ARN for the KMS encryption key. When
|
||||
specifying `kms_key_id`, `encrypted` needs to be set to `true`. For
|
||||
valid formats see *KmsKeyId* in the [AWS API docs -
|
||||
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html).
|
||||
|
||||
- `no_device` (boolean) - Suppresses the specified device included in the
|
||||
block device mapping of the AMI.
|
||||
|
||||
- `snapshot_id` (string) - The ID of the snapshot.
|
||||
|
||||
- `virtual_name` (string) - The virtual device name. See the
|
||||
documentation on [Block Device
|
||||
Mapping](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_BlockDeviceMapping.html)
|
||||
for more information.
|
||||
|
||||
- `volume_size` (number) - The size of the volume, in GiB. Required if
|
||||
not specifying a `snapshot_id`.
|
||||
|
||||
- `volume_type` (string) - The volume type. `gp2` for General Purpose
|
||||
(SSD) volumes, `io1` for Provisioned IOPS (SSD) volumes, `st1` for
|
||||
Throughput Optimized HDD, `sc1` for Cold HDD, and `standard` for
|
||||
Magnetic volumes.
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
<!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `ami_description` (string) - The description to set for the resulting
|
||||
AMI(s). By default this description is empty. This is a template
|
||||
engine, see Build template
|
||||
data for more information.
|
||||
|
||||
- `ami_virtualization_type` (string) - The description to set for the resulting AMI(s). By default this
|
||||
description is empty. This is a [template
|
||||
engine](../templates/engine.html), see [Build template
|
||||
data](#build-template-data) for more information.
|
||||
|
||||
- `ami_users` ([]string) - A list of account IDs that have access to
|
||||
launch the resulting AMI(s). By default no additional users other than the
|
||||
user creating the AMI has permissions to launch it.
|
||||
|
||||
- `ami_groups` ([]string) - A list of groups that have access to
|
||||
launch the resulting AMI(s). By default no groups have permission to launch
|
||||
the AMI. all will make the AMI publicly accessible.
|
||||
|
||||
- `ami_product_codes` ([]string) - A list of product codes to
|
||||
associate with the AMI. By default no product codes are associated with the
|
||||
AMI.
|
||||
|
||||
- `ami_regions` ([]string) - A list of regions to copy the AMI to.
|
||||
Tags and attributes are copied along with the AMI. AMI copying takes time
|
||||
depending on the size of the AMI, but will generally take many minutes.
|
||||
|
||||
- `skip_region_validation` (bool) - Set to true if you want to skip
|
||||
validation of the ami_regions configuration option. Default false.
|
||||
|
||||
- `tags` (TagMap) - Tags applied to the AMI. This is a
|
||||
[template engine](/docs/templates/engine.html), see [Build template
|
||||
data](#build-template-data) for more information.
|
||||
|
||||
- `ena_support` (*bool) - Enable enhanced networking (ENA but not
|
||||
SriovNetSupport) on HVM-compatible AMIs. If set, add
|
||||
ec2:ModifyInstanceAttribute to your AWS IAM policy. If false, this will
|
||||
disable enhanced networking in the final AMI as opposed to passing the
|
||||
setting through unchanged from the source. Note: you must make sure
|
||||
enhanced networking is enabled on your instance. [Amazon's
|
||||
documentation on enabling enhanced
|
||||
networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
|
||||
|
||||
- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on
|
||||
HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your
|
||||
AWS IAM policy. Note: you must make sure enhanced networking is enabled
|
||||
on your instance. See [Amazon's documentation on enabling enhanced
|
||||
networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
|
||||
Default `false`.
|
||||
|
||||
- `force_deregister` (bool) - Force Packer to first deregister an existing
|
||||
AMI if one with the same name already exists. Default false.
|
||||
|
||||
- `force_delete_snapshot` (bool) - Force Packer to delete snapshots
|
||||
associated with AMIs, which have been deregistered by force_deregister.
|
||||
Default false.
|
||||
|
||||
- `encrypt_boot` (*bool) - Whether or not to encrypt the resulting AMI when
|
||||
copying a provisioned instance to an AMI. By default, Packer will keep the
|
||||
encryption setting to what it was in the source image. Setting false will
|
||||
result in an unencrypted image, and true will result in an encrypted one.
|
||||
|
||||
- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot volume encryption. This
|
||||
only applies to the main `region`, other regions where the AMI will be
|
||||
copied will be encrypted by the default EBS KMS key. For valid formats
|
||||
see *KmsKeyId* in the [AWS API docs -
|
||||
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html).
|
||||
This field is validated by Packer, when using an alias, you will have to
|
||||
prefix `kms_key_id` with `alias/`.
|
||||
|
||||
- `region_kms_key_ids` (map[string]string) - regions to copy the ami to, along with the custom kms key id (alias or
|
||||
arn) to use for encryption for that region. Keys must match the regions
|
||||
provided in `ami_regions`. If you just want to encrypt using a default
|
||||
ID, you can stick with `kms_key_id` and `ami_regions`. If you want a
|
||||
region to be encrypted with that region's default key ID, you can use an
|
||||
empty string `""` instead of a key id in this map. (e.g. `"us-east-1":
|
||||
""`) However, you cannot use default key IDs if you are using this in
|
||||
conjunction with `snapshot_users` -- in that situation you must use
|
||||
custom keys. For valid formats see *KmsKeyId* in the [AWS API docs -
|
||||
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html).
|
||||
|
||||
- `snapshot_tags` (TagMap) - Tags to apply to snapshot.
|
||||
They will override AMI tags if already applied to snapshot. This is a
|
||||
[template engine](../templates/engine.html), see [Build template
|
||||
data](#build-template-data) for more information.
|
||||
|
||||
- `snapshot_users` ([]string) - A list of account IDs that have
|
||||
access to create volumes from the snapshot(s). By default no additional
|
||||
users other than the user creating the AMI has permissions to create
|
||||
volumes from the backing snapshot(s).
|
||||
|
||||
- `snapshot_groups` ([]string) - A list of groups that have access to
|
||||
create volumes from the snapshot(s). By default no groups have permission
|
||||
to create volumes from the snapshot(s). all will make the snapshot
|
||||
publicly accessible.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Code generated from the comments of the AMIConfig struct in builder/amazon/common/ami_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `ami_name` (string) - The name of the resulting AMI that will appear when
|
||||
managing AMIs in the AWS console or via APIs. This must be unique. To help
|
||||
make this unique, use a function like timestamp (see [template
|
||||
engine](../templates/engine.html) for more info).
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
<!-- Code generated from the comments of the AccessConfig struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `custom_endpoint_ec2` (string) - This option is useful if you use a cloud
|
||||
provider whose API is compatible with aws EC2. Specify another endpoint
|
||||
like this https://ec2.custom.endpoint.com.
|
||||
|
||||
- `decode_authorization_messages` (bool) - Enable automatic decoding of any encoded authorization (error) messages
|
||||
using the `sts:DecodeAuthorizationMessage` API. Note: requires that the
|
||||
effective user/role have permissions to `sts:DecodeAuthorizationMessage`
|
||||
on resource `*`. Default `false`.
|
||||
|
||||
- `insecure_skip_tls_verify` (bool) - This allows skipping TLS
|
||||
verification of the AWS EC2 endpoint. The default is false.
|
||||
|
||||
- `mfa_code` (string) - The MFA TOTP code. This should probably be a user variable since it
|
||||
changes all the time.
|
||||
|
||||
- `profile` (string) - The profile to use in the shared credentials file for
|
||||
AWS. See Amazon's documentation on [specifying
|
||||
profiles](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-profiles)
|
||||
for more details.
|
||||
|
||||
- `skip_region_validation` (bool) - Set to true if you want to skip
|
||||
validation of the ami_regions configuration option. Default false.
|
||||
|
||||
- `skip_metadata_api_check` (bool) - Skip Metadata Api Check
|
||||
- `token` (string) - The access token to use. This is different from the
|
||||
access key and secret key. If you're not sure what this is, then you
|
||||
probably don't need it. This will also be read from the AWS_SESSION_TOKEN
|
||||
environmental variable.
|
||||
|
||||
- `vault_aws_engine` (VaultAWSEngineOptions) - Get credentials from Hashicorp Vault's aws secrets engine. You must
|
||||
already have created a role to use. For more information about
|
||||
generating credentials via the Vault engine, see the [Vault
|
||||
docs.](https://www.vaultproject.io/api/secret/aws/index.html#generate-credentials)
|
||||
If you set this flag, you must also set the below options:
|
||||
- `name` (string) - Required. Specifies the name of the role to generate
|
||||
credentials against. This is part of the request URL.
|
||||
- `engine_name` (string) - The name of the aws secrets engine. In the
|
||||
Vault docs, this is normally referred to as "aws", and Packer will
|
||||
default to "aws" if `engine_name` is not set.
|
||||
- `role_arn` (string)- The ARN of the role to assume if credential\_type
|
||||
on the Vault role is assumed\_role. Must match one of the allowed role
|
||||
ARNs in the Vault role. Optional if the Vault role only allows a single
|
||||
AWS role ARN; required otherwise.
|
||||
- `ttl` (string) - Specifies the TTL for the use of the STS token. This
|
||||
is specified as a string with a duration suffix. Valid only when
|
||||
credential\_type is assumed\_role or federation\_token. When not
|
||||
specified, the default\_sts\_ttl set for the role will be used. If that
|
||||
is also not set, then the default value of 3600s will be used. AWS
|
||||
places limits on the maximum TTL allowed. See the AWS documentation on
|
||||
the DurationSeconds parameter for AssumeRole (for assumed\_role
|
||||
credential types) and GetFederationToken (for federation\_token
|
||||
credential types) for more details.
|
||||
|
||||
``` json
|
||||
{
|
||||
"vault_aws_engine": {
|
||||
"name": "myrole",
|
||||
"role_arn": "myarn",
|
||||
"ttl": "3600s"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<!-- Code generated from the comments of the AccessConfig struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `access_key` (string) - The access key used to communicate with AWS. [Learn how to set this]
|
||||
(/docs/builders/amazon.html#specifying-amazon-credentials). On EBS, this
|
||||
is not required if you are using `use_vault_aws_engine` for
|
||||
authentication instead.
|
||||
|
||||
- `region` (string) - The name of the region, such as `us-east-1`, in which
|
||||
to launch the EC2 instance to create the AMI.
|
||||
When chroot building, this value is guessed from environment.
|
||||
|
||||
- `secret_key` (string) - The secret key used to communicate with AWS. [Learn how to set
|
||||
this](amazon.html#specifying-amazon-credentials). This is not required
|
||||
if you are using `use_vault_aws_engine` for authentication instead.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<!-- Code generated from the comments of the AmiFilterOptions struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `most_recent` (bool) - Most Recent
|
|
@ -0,0 +1,50 @@
|
|||
<!-- Code generated from the comments of the BlockDevice struct in builder/amazon/common/block_device.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `delete_on_termination` (bool) - Indicates whether the EBS volume is
|
||||
deleted on instance termination. Default false. NOTE: If this
|
||||
value is not explicitly set to true and volumes are not cleaned up by
|
||||
an alternative method, additional volumes will accumulate after every
|
||||
build.
|
||||
|
||||
- `device_name` (string) - The device name exposed to the instance (for
|
||||
example, /dev/sdh or xvdh). Required for every device in the block
|
||||
device mapping.
|
||||
|
||||
- `encrypted` (*bool) - Indicates whether or not to encrypt the volume.
|
||||
By default, Packer will keep the encryption setting to what it was in
|
||||
the source image. Setting false will result in an unencrypted device,
|
||||
and true will result in an encrypted one.
|
||||
|
||||
- `iops` (int64) - The number of I/O operations per second (IOPS) that
|
||||
the volume supports. See the documentation on
|
||||
IOPs
|
||||
for more information
|
||||
|
||||
- `no_device` (bool) - Suppresses the specified device included in the
|
||||
block device mapping of the AMI.
|
||||
|
||||
- `snapshot_id` (string) - The ID of the snapshot.
|
||||
|
||||
- `virtual_name` (string) - The virtual device name. See the
|
||||
documentation on Block Device
|
||||
Mapping
|
||||
for more information.
|
||||
|
||||
- `volume_type` (string) - The volume type. gp2 for General Purpose
|
||||
(SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for
|
||||
Throughput Optimized HDD, sc1 for Cold HDD, and standard for
|
||||
Magnetic volumes.
|
||||
|
||||
- `volume_size` (int64) - The size of the volume, in GiB. Required if
|
||||
not specifying a snapshot_id.
|
||||
|
||||
- `kms_key_id` (string) - ID, alias or ARN of the KMS key to use for boot
|
||||
volume encryption. This only applies to the main region, other regions
|
||||
where the AMI will be copied will be encrypted by the default EBS KMS key.
|
||||
For valid formats see KmsKeyId in the [AWS API docs -
|
||||
CopyImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopyImage.html)
|
||||
This field is validated by Packer, when using an alias, you will have to
|
||||
prefix kms_key_id with alias/.
|
||||
|
||||
- `omit_from_artifact` (bool) - ebssurrogate only
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!-- Code generated from the comments of the LaunchBlockDevices struct in builder/amazon/common/block_device.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `launch_block_device_mappings` ([]BlockDevice) - Add one or more block devices before the Packer build starts. If you add
|
||||
instance store volumes or EBS volumes in addition to the root device
|
||||
volume, the created AMI will contain block device mapping information
|
||||
for those volumes. Amazon creates snapshots of the source instance's
|
||||
root volume and any other EBS volumes described here. When you launch an
|
||||
instance from this new AMI, the instance automatically launches with
|
||||
these additional volumes, and will restore them from snapshots taken
|
||||
from the source instance.
|
||||
|
||||
In addition to the fields available in ami_block_device_mappings, you
|
||||
may optionally use the following field:
|
||||
- `omit_from_artifact` (boolean) - If true, this block device will not
|
||||
be snapshotted and the created AMI will not contain block device mapping
|
||||
information for this volume. If false, the block device will be mapped
|
||||
into the final created AMI. Set this option to true if you need a block
|
||||
device mounted in the surrogate AMI but not in the final created AMI.
|
||||
|
|
@ -0,0 +1,246 @@
|
|||
<!-- Code generated from the comments of the RunConfig struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `associate_public_ip_address` (bool) - If using a non-default VPC,
|
||||
public IP addresses are not provided by default. If this is true, your
|
||||
new instance will get a Public IP. default: false
|
||||
|
||||
- `availability_zone` (string) - Destination availability zone to launch
|
||||
instance in. Leave this empty to allow Amazon to auto-assign.
|
||||
|
||||
- `block_duration_minutes` (int64) - Requires spot_price to be set. The
|
||||
required duration for the Spot Instances (also known as Spot blocks). This
|
||||
value must be a multiple of 60 (60, 120, 180, 240, 300, or 360). You can't
|
||||
specify an Availability Zone group or a launch group if you specify a
|
||||
duration.
|
||||
|
||||
- `disable_stop_instance` (bool) - Packer normally stops the build instance after all provisioners have
|
||||
run. For Windows instances, it is sometimes desirable to [run
|
||||
Sysprep](http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ami-create-standard.html)
|
||||
which will stop the instance for you. If this is set to `true`, Packer
|
||||
*will not* stop the instance but will assume that you will send the stop
|
||||
signal yourself through your final provisioner. You can do this with a
|
||||
[windows-shell
|
||||
provisioner](https://www.packer.io/docs/provisioners/windows-shell.html).
|
||||
Note that Packer will still wait for the instance to be stopped, and
|
||||
failing to send the stop signal yourself, when you have set this flag to
|
||||
`true`, will cause a timeout.
|
||||
Example of a valid shutdown command:
|
||||
|
||||
``` json
|
||||
{
|
||||
"type": "windows-shell",
|
||||
"inline": ["\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep"]
|
||||
}
|
||||
```
|
||||
|
||||
- `ebs_optimized` (bool) - Mark instance as [EBS
|
||||
Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html).
|
||||
Default `false`.
|
||||
|
||||
- `enable_t2_unlimited` (bool) - Enabling T2 Unlimited allows the source instance to burst additional CPU
|
||||
beyond its available [CPU
|
||||
Credits](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-credits-baseline-concepts.html)
|
||||
for as long as the demand exists. This is in contrast to the standard
|
||||
configuration that only allows an instance to consume up to its
|
||||
available CPU Credits. See the AWS documentation for [T2
|
||||
Unlimited](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-unlimited.html)
|
||||
and the **T2 Unlimited Pricing** section of the [Amazon EC2 On-Demand
|
||||
Pricing](https://aws.amazon.com/ec2/pricing/on-demand/) document for
|
||||
more information. By default this option is disabled and Packer will set
|
||||
up a [T2
|
||||
Standard](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/t2-std.html)
|
||||
instance instead.
|
||||
|
||||
To use T2 Unlimited you must use a T2 instance type, e.g. `t2.micro`.
|
||||
Additionally, T2 Unlimited cannot be used in conjunction with Spot
|
||||
Instances, e.g. when the `spot_price` option has been configured.
|
||||
Attempting to do so will cause an error.
|
||||
|
||||
!> **Warning!** Additional costs may be incurred by enabling T2
|
||||
Unlimited - even for instances that would usually qualify for the
|
||||
[AWS Free Tier](https://aws.amazon.com/free/).
|
||||
|
||||
- `iam_instance_profile` (string) - The name of an [IAM instance
|
||||
profile](https://docs.aws.amazon.com/IAM/latest/UserGuide/instance-profiles.html)
|
||||
to launch the EC2 instance with.
|
||||
|
||||
- `shutdown_behavior` (string) - Automatically terminate instances on
|
||||
shutdown in case Packer exits ungracefully. Possible values are stop and
|
||||
terminate. Defaults to stop.
|
||||
|
||||
- `security_group_filter` (SecurityGroupFilterOptions) - Filters used to populate the `security_group_ids` field. Example:
|
||||
|
||||
``` json
|
||||
{
|
||||
"security_group_filter": {
|
||||
"filters": {
|
||||
"tag:Class": "packer"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This selects the SG's with tag `Class` with the value `packer`.
|
||||
|
||||
- `filters` (map of strings) - filters used to select a
|
||||
`security_group_ids`. Any filter described in the docs for
|
||||
[DescribeSecurityGroups](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSecurityGroups.html)
|
||||
is valid.
|
||||
|
||||
`security_group_ids` take precedence over this.
|
||||
|
||||
- `run_tags` (map[string]string) - Tags to apply to the instance that is *launched* to create the AMI.
|
||||
These tags are *not* applied to the resulting AMI unless they're
|
||||
duplicated in `tags`. This is a [template
|
||||
engine](/docs/templates/engine.html), see [Build template
|
||||
data](#build-template-data) for more information.
|
||||
|
||||
- `security_group_id` (string) - The ID (not the name) of the security
|
||||
group to assign to the instance. By default this is not set and Packer will
|
||||
automatically create a new temporary security group to allow SSH access.
|
||||
Note that if this is specified, you must be sure the security group allows
|
||||
access to the ssh_port given below.
|
||||
|
||||
- `security_group_ids` ([]string) - A list of security groups as
|
||||
described above. Note that if this is specified, you must omit the
|
||||
security_group_id.
|
||||
|
||||
- `source_ami_filter` (AmiFilterOptions) - Filters used to populate the `source_ami`
|
||||
field. Example:
|
||||
|
||||
``` json
|
||||
{
|
||||
"source_ami_filter": {
|
||||
"filters": {
|
||||
"virtualization-type": "hvm",
|
||||
"name": "ubuntu/images/\*ubuntu-xenial-16.04-amd64-server-\*",
|
||||
"root-device-type": "ebs"
|
||||
},
|
||||
"owners": ["099720109477"],
|
||||
"most_recent": true
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This selects the most recent Ubuntu 16.04 HVM EBS AMI from Canonical. NOTE:
|
||||
This will fail unless *exactly* one AMI is returned. In the above example,
|
||||
`most_recent` will cause this to succeed by selecting the newest image.
|
||||
|
||||
- `filters` (map of strings) - filters used to select a `source_ami`.
|
||||
NOTE: This will fail unless *exactly* one AMI is returned. Any filter
|
||||
described in the docs for
|
||||
[DescribeImages](http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html)
|
||||
is valid.
|
||||
|
||||
- `owners` (array of strings) - Filters the images by their owner. You
|
||||
may specify one or more AWS account IDs, "self" (which will use the
|
||||
account whose credentials you are using to run Packer), or an AWS owner
|
||||
alias: for example, `amazon`, `aws-marketplace`, or `microsoft`. This
|
||||
option is required for security reasons.
|
||||
|
||||
- `most_recent` (boolean) - Selects the newest created image when true.
|
||||
This is most useful for selecting a daily distro build.
|
||||
|
||||
You may set this in place of `source_ami` or in conjunction with it. If you
|
||||
set this in conjunction with `source_ami`, the `source_ami` will be added
|
||||
to the filter. The provided `source_ami` must meet all of the filtering
|
||||
criteria provided in `source_ami_filter`; this pins the AMI returned by the
|
||||
filter, but will cause Packer to fail if the `source_ami` does not exist.
|
||||
|
||||
- `spot_instance_types` ([]string) - a list of acceptable instance
|
||||
types to run your build on. We will request a spot instance using the max
|
||||
price of spot_price and the allocation strategy of "lowest price".
|
||||
Your instance will be launched on an instance type of the lowest available
|
||||
price that you have in your list. This is used in place of instance_type.
|
||||
You may only set either spot_instance_types or instance_type, not both.
|
||||
This feature exists to help prevent situations where a Packer build fails
|
||||
because a particular availability zone does not have capacity for the
|
||||
specific instance_type requested in instance_type.
|
||||
|
||||
- `spot_price` (string) - The maximum hourly price to pay for a spot instance
|
||||
to create the AMI. Spot instances are a type of instance that EC2 starts
|
||||
when the current spot price is less than the maximum price you specify.
|
||||
Spot price will be updated based on available spot instance capacity and
|
||||
current spot instance requests. It may save you some costs. You can set
|
||||
this to auto for Packer to automatically discover the best spot price or
|
||||
to "0" to use an on demand instance (default).
|
||||
|
||||
- `spot_price_auto_product` (string) - Required if spot_price is set to
|
||||
auto. This tells Packer what sort of AMI you're launching to find the
|
||||
best spot price. This must be one of: Linux/UNIX, SUSE Linux,
|
||||
Windows, Linux/UNIX (Amazon VPC), SUSE Linux (Amazon VPC),
|
||||
Windows (Amazon VPC)
|
||||
|
||||
- `spot_tags` (map[string]string) - Requires spot_price to be
|
||||
set. This tells Packer to apply tags to the spot request that is issued.
|
||||
|
||||
- `subnet_filter` (SubnetFilterOptions) - Filters used to populate the `subnet_id` field.
|
||||
Example:
|
||||
|
||||
``` json
|
||||
{
|
||||
"subnet_filter": {
|
||||
"filters": {
|
||||
"tag:Class": "build"
|
||||
},
|
||||
"most_free": true,
|
||||
"random": false
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
This selects the Subnet with tag `Class` with the value `build`, which has
|
||||
the most free IP addresses. NOTE: This will fail unless *exactly* one
|
||||
Subnet is returned. By using `most_free` or `random` one will be selected
|
||||
from those matching the filter.
|
||||
|
||||
- `filters` (map of strings) - filters used to select a `subnet_id`.
|
||||
NOTE: This will fail unless *exactly* one Subnet is returned. Any
|
||||
filter described in the docs for
|
||||
[DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html)
|
||||
is valid.
|
||||
|
||||
- `most_free` (boolean) - The Subnet with the most free IPv4 addresses
|
||||
will be used if multiple Subnets matches the filter.
|
||||
|
||||
- `random` (boolean) - A random Subnet will be used if multiple Subnets
|
||||
matches the filter. `most_free` have precendence over this.
|
||||
|
||||
`subnet_id` take precedence over this.
|
||||
|
||||
- `subnet_id` (string) - If using VPC, the ID of the subnet, such as
|
||||
subnet-12345def, where Packer will launch the EC2 instance. This field is
|
||||
required if you are using an non-default VPC.
|
||||
|
||||
- `temporary_key_pair_name` (string) - The name of the temporary key pair to
|
||||
generate. By default, Packer generates a name that looks like
|
||||
`packer_<UUID>`, where <UUID> is a 36 character unique identifier.
|
||||
|
||||
- `temporary_security_group_source_cidrs` ([]string) - A list of IPv4 CIDR blocks to be authorized access to the instance, when
|
||||
packer is creating a temporary security group.
|
||||
|
||||
The default is [`0.0.0.0/0`] (i.e., allow any IPv4 source). This is only
|
||||
used when `security_group_id` or `security_group_ids` is not specified.
|
||||
|
||||
- `user_data` (string) - User data to apply when launching the instance. Note
|
||||
that you need to be careful about escaping characters due to the templates
|
||||
being JSON. It is often more convenient to use user_data_file, instead.
|
||||
Packer will not automatically wait for a user script to finish before
|
||||
shutting down the instance this must be handled in a provisioner.
|
||||
|
||||
- `user_data_file` (string) - Path to a file that will be used for the user
|
||||
data when launching the instance.
|
||||
|
||||
- `vpc_filter` (VpcFilterOptions) - Filters used to populate the vpc_id field.
|
||||
vpc_id take precedence over this.
|
||||
Example:
|
||||
|
||||
- `vpc_id` (string) - If launching into a VPC subnet, Packer needs the VPC ID
|
||||
in order to create a temporary security group within the VPC. Requires
|
||||
subnet_id to be set. If this field is left blank, Packer will try to get
|
||||
the VPC ID from the subnet_id.
|
||||
|
||||
- `windows_password_timeout` (time.Duration) - The timeout for waiting for a Windows
|
||||
password for Windows instances. Defaults to 20 minutes. Example value:
|
||||
10m
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<!-- Code generated from the comments of the RunConfig struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `instance_type` (string) - The EC2 instance type to use while building the
|
||||
AMI, such as t2.small.
|
||||
|
||||
- `source_ami` (string) - The source AMI whose root volume will be copied and
|
||||
provisioned on the currently running instance. This must be an EBS-backed
|
||||
AMI with a root volume snapshot that you have access to. Note: this is not
|
||||
used when from_scratch is set to true.
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<!-- Code generated from the comments of the SubnetFilterOptions struct in builder/amazon/common/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `most_free` (bool) - Most Free
|
||||
- `random` (bool) - Random
|
|
@ -0,0 +1,15 @@
|
|||
<!-- Code generated from the comments of the VaultAWSEngineOptions struct in builder/amazon/common/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `name` (string) - Name
|
||||
- `role_arn` (string) - Role ARN
|
||||
- `ttl` (string) - Specifies the TTL for the use of the STS token. This
|
||||
is specified as a string with a duration suffix. Valid only when
|
||||
credential_type is assumed_role or federation_token. When not
|
||||
specified, the default_sts_ttl set for the role will be used. If that
|
||||
is also not set, then the default value of 3600s will be used. AWS
|
||||
places limits on the maximum TTL allowed. See the AWS documentation on
|
||||
the DurationSeconds parameter for AssumeRole (for assumed_role
|
||||
credential types) and GetFederationToken (for federation_token
|
||||
credential types) for more details.
|
||||
|
||||
- `engine_name` (string) - Engine Name
|
|
@ -0,0 +1,8 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/ebs/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `run_volume_tags` (awscommon.TagMap) - Tags to apply to the volumes that are *launched* to create the AMI.
|
||||
These tags are *not* applied to the resulting AMI unless they're
|
||||
duplicated in `tags`. This is a [template
|
||||
engine](/docs/templates/engine.html), see [Build template
|
||||
data](#build-template-data) for more information.
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/ebssurrogate/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `run_volume_tags` (awscommon.TagMap) - Tags to apply to the volumes that are *launched* to create the AMI.
|
||||
These tags are *not* applied to the resulting AMI unless they're
|
||||
duplicated in `tags`. This is a [template
|
||||
engine](/docs/templates/engine.html), see [Build template
|
||||
data](#build-template-data) for more information.
|
||||
|
||||
- `ami_architecture` (string) - what architecture to use when registering the
|
||||
final AMI; valid options are "x86_64" or "arm64". Defaults to "x86_64".
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/ebssurrogate/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `ami_root_device` (RootBlockDevice) - A block device mapping describing the root device of the AMI. This looks
|
||||
like the mappings in `ami_block_device_mapping`, except with an
|
||||
additional field:
|
||||
|
||||
- `source_device_name` (string) - The device name of the block device on
|
||||
the source instance to be used as the root device for the AMI. This
|
||||
must correspond to a block device in `launch_block_device_mapping`.
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
<!-- Code generated from the comments of the RootBlockDevice struct in builder/amazon/ebssurrogate/root_block_device.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_device_name` (string) - Source Device Name
|
||||
- `device_name` (string) - The device name exposed to the instance (for
|
||||
example, /dev/sdh or xvdh). Required for every device in the block
|
||||
device mapping.
|
||||
|
||||
- `delete_on_termination` (bool) - Indicates whether the EBS volume is
|
||||
deleted on instance termination. Default false. NOTE: If this
|
||||
value is not explicitly set to true and volumes are not cleaned up by
|
||||
an alternative method, additional volumes will accumulate after every
|
||||
build.
|
||||
|
||||
- `iops` (int64) - The number of I/O operations per second (IOPS) that
|
||||
the volume supports. See the documentation on
|
||||
IOPs
|
||||
for more information
|
||||
|
||||
- `volume_type` (string) - The volume type. gp2 for General Purpose
|
||||
(SSD) volumes, io1 for Provisioned IOPS (SSD) volumes, st1 for
|
||||
Throughput Optimized HDD, sc1 for Cold HDD, and standard for
|
||||
Magnetic volumes.
|
||||
|
||||
- `volume_size` (int64) - The size of the volume, in GiB. Required if
|
||||
not specifying a snapshot_id.
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<!-- Code generated from the comments of the BlockDevice struct in builder/amazon/ebsvolume/block_device.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `tags` (awscommon.TagMap) - Tags applied to the AMI. This is a
|
||||
template engine, see Build template
|
||||
data for more information.
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/ebsvolume/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `ebs_volumes` ([]BlockDevice) - Add the block device
|
||||
mappings to the AMI. The block device mappings allow for keys:
|
||||
|
||||
- `ena_support` (*bool) - Enable enhanced networking (ENA but not SriovNetSupport) on
|
||||
HVM-compatible AMIs. If set, add ec2:ModifyInstanceAttribute to your AWS
|
||||
IAM policy. If false, this will disable enhanced networking in the final
|
||||
AMI as opposed to passing the setting through unchanged from the source.
|
||||
Note: you must make sure enhanced networking is enabled on your
|
||||
instance. See Amazon's documentation on enabling enhanced networking.
|
||||
|
||||
- `sriov_support` (bool) - Enable enhanced networking (SriovNetSupport but not ENA) on
|
||||
HVM-compatible AMIs. If true, add `ec2:ModifyInstanceAttribute` to your
|
||||
AWS IAM policy. Note: you must make sure enhanced networking is enabled
|
||||
on your instance. See [Amazon's documentation on enabling enhanced
|
||||
networking](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html#enabling_enhanced_networking).
|
||||
Default `false`.
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `bundle_destination` (string) - The directory on the running instance where
|
||||
the bundled AMI will be saved prior to uploading. By default this is
|
||||
/tmp. This directory must exist and be writable.
|
||||
|
||||
- `bundle_prefix` (string) - The prefix for files created from bundling the
|
||||
root volume. By default this is image-{{timestamp}}. The timestamp
|
||||
variable should be used to make sure this is unique, otherwise it can
|
||||
collide with other created AMIs by Packer in your account.
|
||||
|
||||
- `bundle_upload_command` (string) - The command to use to upload the bundled
|
||||
volume. See the "custom bundle commands" section below for more
|
||||
information.
|
||||
|
||||
- `bundle_vol_command` (string) - The command to use to bundle the volume.
|
||||
See the "custom bundle commands" section below for more information.
|
||||
|
||||
- `x509_upload_path` (string) - The path on the remote machine where the X509
|
||||
certificate will be uploaded. This path must already exist and be writable.
|
||||
X509 certificates are uploaded after provisioning is run, so it is
|
||||
perfectly okay to create this directory as part of the provisioning
|
||||
process. Defaults to /tmp.
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/amazon/instance/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `account_id` (string) - Your AWS account ID. This is required for bundling
|
||||
the AMI. This is not the same as the access key. You can find your
|
||||
account ID in the security credentials page of your AWS account.
|
||||
|
||||
- `s3_bucket` (string) - The name of the S3 bucket to upload the AMI. This
|
||||
bucket will be created if it doesn't exist.
|
||||
|
||||
- `x509_cert_path` (string) - The local path to a valid X509 certificate for
|
||||
your AWS account. This is used for bundling the AMI. This X509 certificate
|
||||
must be registered with your account from the security credentials page in
|
||||
the AWS console.
|
||||
|
||||
- `x509_key_path` (string) - The local path to the private key for the X509
|
||||
certificate specified by x509_cert_path. This is used for bundling the
|
||||
AMI.
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<!-- Code generated from the comments of the ClientConfig struct in builder/azure/arm/clientconfig.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `cloud_environment_name` (string) - One of Public, China, Germany, or
|
||||
USGovernment. Defaults to Public. Long forms such as
|
||||
USGovernmentCloud and AzureUSGovernmentCloud are also supported.
|
||||
|
||||
- `client_id` (string) - Client ID
|
||||
|
||||
- `client_secret` (string) - Client secret/password
|
||||
|
||||
- `client_cert_path` (string) - Certificate path for client auth
|
||||
|
||||
- `client_jwt` (string) - JWT bearer token for client auth (RFC 7523, Sec. 2.2)
|
||||
|
||||
- `object_id` (string) - Object ID
|
||||
- `tenant_id` (string) - The account identifier with which your client_id and
|
||||
subscription_id are associated. If not specified, tenant_id will be
|
||||
looked up using subscription_id.
|
||||
|
||||
- `subscription_id` (string) - Subscription ID
|
|
@ -0,0 +1,185 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `capture_name_prefix` (string) - Capture
|
||||
|
||||
- `capture_container_name` (string) - Capture Container Name
|
||||
- `shared_image_gallery` (SharedImageGallery) - Use a [Shared Gallery
|
||||
image](https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-shared-image-gallery/)
|
||||
as the source for this build. *VHD targets are incompatible with this
|
||||
build type* - the target must be a *Managed Image*.
|
||||
|
||||
"shared_image_gallery": {
|
||||
"subscription": "00000000-0000-0000-0000-00000000000",
|
||||
"resource_group": "ResourceGroup",
|
||||
"gallery_name": "GalleryName",
|
||||
"image_name": "ImageName",
|
||||
"image_version": "1.0.0"
|
||||
}
|
||||
"managed_image_name": "TargetImageName",
|
||||
"managed_image_resource_group_name": "TargetResourceGroup"
|
||||
|
||||
- `image_version` (string) - Specify a specific version of an OS to boot from.
|
||||
Defaults to `latest`. There may be a difference in versions available
|
||||
across regions due to image synchronization latency. To ensure a consistent
|
||||
version across regions set this value to one that is available in all
|
||||
regions where you are deploying.
|
||||
|
||||
CLI example
|
||||
`az vm image list --location westus --publisher Canonical --offer UbuntuServer --sku 16.04.0-LTS --all`
|
||||
|
||||
- `image_url` (string) - Specify a custom VHD to use. If this value is set, do
|
||||
not set image_publisher, image_offer, image_sku, or image_version.
|
||||
|
||||
- `custom_managed_image_resource_group_name` (string) - Specify the source managed image's resource group used to use. If this
|
||||
value is set, do not set image\_publisher, image\_offer, image\_sku, or
|
||||
image\_version. If this value is set, the value
|
||||
`custom_managed_image_name` must also be set. See
|
||||
[documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images)
|
||||
to learn more about managed images.
|
||||
|
||||
- `custom_managed_image_name` (string) - Specify the source managed image's name to use. If this value is set, do
|
||||
not set image\_publisher, image\_offer, image\_sku, or image\_version.
|
||||
If this value is set, the value
|
||||
`custom_managed_image_resource_group_name` must also be set. See
|
||||
[documentation](https://docs.microsoft.com/en-us/azure/storage/storage-managed-disks-overview#images)
|
||||
to learn more about managed images.
|
||||
|
||||
- `location` (string) - Location
|
||||
- `vm_size` (string) - Size of the VM used for building. This can be changed when you deploy a
|
||||
VM from your VHD. See
|
||||
[pricing](https://azure.microsoft.com/en-us/pricing/details/virtual-machines/)
|
||||
information. Defaults to `Standard_A1`.
|
||||
|
||||
CLI example `az vm list-sizes --location westus`
|
||||
|
||||
- `managed_image_resource_group_name` (string) - Managed Image Resource Group Name
|
||||
- `managed_image_name` (string) - Managed Image Name
|
||||
- `managed_image_storage_account_type` (string) - Specify the storage account
|
||||
type for a managed image. Valid values are Standard_LRS and Premium_LRS.
|
||||
The default is Standard_LRS.
|
||||
|
||||
- `managed_image_os_disk_snapshot_name` (string) - If
|
||||
managed_image_os_disk_snapshot_name is set, a snapshot of the OS disk
|
||||
is created with the same name as this value before the VM is captured.
|
||||
|
||||
- `managed_image_data_disk_snapshot_prefix` (string) - If
|
||||
managed_image_data_disk_snapshot_prefix is set, snapshot of the data
|
||||
disk(s) is created with the same prefix as this value before the VM is
|
||||
captured.
|
||||
|
||||
- `managed_image_zone_resilient` (bool) - Store the image in zone-resilient storage. You need to create it in a
|
||||
region that supports [availability
|
||||
zones](https://docs.microsoft.com/en-us/azure/availability-zones/az-overview).
|
||||
|
||||
- `azure_tags` (map[string]*string) - the user can define up to 15
|
||||
tags. Tag names cannot exceed 512 characters, and tag values cannot exceed
|
||||
256 characters. Tags are applied to every resource deployed by a Packer
|
||||
build, i.e. Resource Group, VM, NIC, VNET, Public IP, KeyVault, etc.
|
||||
|
||||
- `resource_group_name` (string) - Resource Group Name
|
||||
- `storage_account` (string) - Storage Account
|
||||
- `temp_compute_name` (string) - temporary name assigned to the VM. If this
|
||||
value is not set, a random value will be assigned. Knowing the resource
|
||||
group and VM name allows one to execute commands to update the VM during a
|
||||
Packer build, e.g. attach a resource disk to the VM.
|
||||
|
||||
- `temp_resource_group_name` (string) - Temp Resource Group Name
|
||||
- `build_resource_group_name` (string) - Build Resource Group Name
|
||||
- `private_virtual_network_with_public_ip` (bool) - This value allows you to
|
||||
set a virtual_network_name and obtain a public IP. If this value is not
|
||||
set and virtual_network_name is defined Packer is only allowed to be
|
||||
executed from a host on the same subnet / virtual network.
|
||||
|
||||
- `virtual_network_name` (string) - Use a pre-existing virtual network for the
|
||||
VM. This option enables private communication with the VM, no public IP
|
||||
address is used or provisioned (unless you set
|
||||
private_virtual_network_with_public_ip).
|
||||
|
||||
- `virtual_network_subnet_name` (string) - If virtual_network_name is set,
|
||||
this value may also be set. If virtual_network_name is set, and this
|
||||
value is not set the builder attempts to determine the subnet to use with
|
||||
the virtual network. If the subnet cannot be found, or it cannot be
|
||||
disambiguated, this value should be set.
|
||||
|
||||
- `virtual_network_resource_group_name` (string) - If virtual_network_name is
|
||||
set, this value may also be set. If virtual_network_name is set, and
|
||||
this value is not set the builder attempts to determine the resource group
|
||||
containing the virtual network. If the resource group cannot be found, or
|
||||
it cannot be disambiguated, this value should be set.
|
||||
|
||||
- `custom_data_file` (string) - Specify a file containing custom data to inject into the cloud-init
|
||||
process. The contents of the file are read and injected into the ARM
|
||||
template. The custom data will be passed to cloud-init for processing at
|
||||
the time of provisioning. See
|
||||
[documentation](http://cloudinit.readthedocs.io/en/latest/topics/examples.html)
|
||||
to learn more about custom data, and how it can be used to influence the
|
||||
provisioning process.
|
||||
|
||||
- `plan_info` (PlanInformation) - Used for creating images from Marketplace images. Please refer to
|
||||
[Deploy an image with Marketplace
|
||||
terms](https://aka.ms/azuremarketplaceapideployment) for more details.
|
||||
Not all Marketplace images support programmatic deployment, and support
|
||||
is controlled by the image publisher.
|
||||
|
||||
An example plan\_info object is defined below.
|
||||
|
||||
``` json
|
||||
{
|
||||
"plan_info": {
|
||||
"plan_name": "rabbitmq",
|
||||
"plan_product": "rabbitmq",
|
||||
"plan_publisher": "bitnami"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
`plan_name` (string) - The plan name, required. `plan_product` (string) -
|
||||
The plan product, required. `plan_publisher` (string) - The plan publisher,
|
||||
required. `plan_promotion_code` (string) - Some images accept a promotion
|
||||
code, optional.
|
||||
|
||||
Images created from the Marketplace with `plan_info` **must** specify
|
||||
`plan_info` whenever the image is deployed. The builder automatically adds
|
||||
tags to the image to ensure this information is not lost. The following
|
||||
tags are added.
|
||||
|
||||
1. PlanName
|
||||
2. PlanProduct
|
||||
3. PlanPublisher
|
||||
4. PlanPromotionCode
|
||||
|
||||
- `os_type` (string) - If either Linux or Windows is specified Packer will
|
||||
automatically configure authentication credentials for the provisioned
|
||||
machine. For Linux this configures an SSH authorized key. For Windows
|
||||
this configures a WinRM certificate.
|
||||
|
||||
- `os_disk_size_gb` (int32) - Specify the size of the OS disk in GB
|
||||
(gigabytes). Values of zero or less than zero are ignored.
|
||||
|
||||
- `disk_additional_size` ([]int32) - The size(s) of any additional hard disks for the VM in gigabytes. If
|
||||
this is not specified then the VM will only contain an OS disk. The
|
||||
number of additional disks and maximum size of a disk depends on the
|
||||
configuration of your VM. See
|
||||
[Windows](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/about-disks-and-vhds)
|
||||
or
|
||||
[Linux](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/about-disks-and-vhds)
|
||||
for more information.
|
||||
|
||||
For VHD builds the final artifacts will be named
|
||||
`PREFIX-dataDisk-<n>.UUID.vhd` and stored in the specified capture
|
||||
container along side the OS disk. The additional disks are included in
|
||||
the deployment template `PREFIX-vmTemplate.UUID`.
|
||||
|
||||
For Managed build the final artifacts are included in the managed image.
|
||||
The additional disk will have the same storage account type as the OS
|
||||
disk, as specified with the `managed_image_storage_account_type`
|
||||
setting.
|
||||
|
||||
- `disk_caching_type` (string) - Specify the disk caching type. Valid values
|
||||
are None, ReadOnly, and ReadWrite. The default value is ReadWrite.
|
||||
|
||||
- `async_resourcegroup_delete` (bool) - If you want packer to delete the
|
||||
temporary resource group asynchronously set this value. It's a boolean
|
||||
value and defaults to false. Important Setting this true means that
|
||||
your builds are faster, however any failed deletes are not reported.
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_publisher` (string) - PublisherName for your base image. See
|
||||
[documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/)
|
||||
for details.
|
||||
|
||||
CLI example `az vm image list-publishers --location westus`
|
||||
|
||||
- `image_offer` (string) - Offer for your base image. See
|
||||
[documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/)
|
||||
for details.
|
||||
|
||||
CLI example
|
||||
`az vm image list-offers --location westus --publisher Canonical`
|
||||
|
||||
- `image_sku` (string) - SKU for your base image. See
|
||||
[documentation](https://azure.microsoft.com/en-us/documentation/articles/resource-groups-vm-searching/)
|
||||
for details.
|
||||
|
||||
CLI example
|
||||
`az vm image list-skus --location westus --publisher Canonical --offer UbuntuServer`
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<!-- Code generated from the comments of the PlanInformation struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `plan_name` (string) - Plan Name
|
||||
- `plan_product` (string) - Plan Product
|
||||
- `plan_publisher` (string) - Plan Publisher
|
||||
- `plan_promotion_code` (string) - Plan Promotion Code
|
|
@ -0,0 +1,12 @@
|
|||
<!-- Code generated from the comments of the SharedImageGallery struct in builder/azure/arm/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `subscription` (string) - Subscription
|
||||
- `resource_group` (string) - Resource Group
|
||||
- `gallery_name` (string) - Gallery Name
|
||||
- `image_name` (string) - Image Name
|
||||
- `image_version` (string) - Specify a specific version of an OS to boot from.
|
||||
Defaults to latest. There may be a difference in versions available
|
||||
across regions due to image synchronization latency. To ensure a consistent
|
||||
version across regions set this value to one that is available in all
|
||||
regions where you are deploying.
|
||||
|
|
@ -0,0 +1,97 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `async_timeout` (time.Duration) - The time duration to wait for async calls to
|
||||
finish. Defaults to 30m.
|
||||
|
||||
- `http_get_only` (bool) - Some cloud providers only allow HTTP GET calls
|
||||
to their CloudStack API. If using such a provider, you need to set this to
|
||||
true in order for the provider to only make GET calls and no POST calls.
|
||||
|
||||
- `ssl_no_verify` (bool) - Set to true to skip SSL verification.
|
||||
Defaults to false.
|
||||
|
||||
- `cidr_list` ([]string) - List of CIDR's that will have access to the new
|
||||
instance. This is needed in order for any provisioners to be able to
|
||||
connect to the instance. Defaults to [ "0.0.0.0/0" ]. Only required when
|
||||
use_local_ip_address is false.
|
||||
|
||||
- `create_security_group` (bool) - If true a temporary security group
|
||||
will be created which allows traffic towards the instance from the
|
||||
cidr_list. This option will be ignored if security_groups is also
|
||||
defined. Requires expunge set to true. Defaults to false.
|
||||
|
||||
- `disk_offering` (string) - The name or ID of the disk offering used for the
|
||||
instance. This option is only available (and also required) when using
|
||||
source_iso.
|
||||
|
||||
- `disk_size` (int64) - The size (in GB) of the root disk of the new
|
||||
instance. This option is only available when using source_template.
|
||||
|
||||
- `expunge` (bool) - Set to true to expunge the instance when it is
|
||||
destroyed. Defaults to false.
|
||||
|
||||
- `hypervisor` (string) - The target hypervisor (e.g. XenServer, KVM) for
|
||||
the new template. This option is required when using source_iso.
|
||||
|
||||
- `instance_name` (string) - The name of the instance. Defaults to
|
||||
"packer-UUID" where UUID is dynamically generated.
|
||||
|
||||
- `project` (string) - The name or ID of the project to deploy the instance
|
||||
to.
|
||||
|
||||
- `public_ip_address` (string) - The public IP address or it's ID used for
|
||||
connecting any provisioners to. If not provided, a temporary public IP
|
||||
address will be associated and released during the Packer run.
|
||||
|
||||
- `public_port` (int) - The fixed port you want to configure in the port
|
||||
forwarding rule. Set this attribute if you do not want to use the a random
|
||||
public port.
|
||||
|
||||
- `security_groups` ([]string) - A list of security group IDs or
|
||||
names to associate the instance with.
|
||||
|
||||
- `prevent_firewall_changes` (bool) - Set to true to prevent network
|
||||
ACLs or firewall rules creation. Defaults to false.
|
||||
|
||||
- `temporary_keypair_name` (string) - The name of the temporary SSH key pair
|
||||
to generate. By default, Packer generates a name that looks like
|
||||
packer_<UUID>, where <UUID> is a 36 character unique identifier.
|
||||
|
||||
- `use_local_ip_address` (bool) - Set to true to indicate that the
|
||||
provisioners should connect to the local IP address of the instance.
|
||||
|
||||
- `user_data` (string) - User data to launch with the instance. This is a
|
||||
template engine see User Data bellow for
|
||||
more details. Packer will not automatically wait for a user script to
|
||||
finish before shutting down the instance this must be handled in a
|
||||
provisioner.
|
||||
|
||||
- `user_data_file` (string) - Path to a file that will be used for the user
|
||||
data when launching the instance. This file will be parsed as a template
|
||||
engine see User Data bellow for more
|
||||
details.
|
||||
|
||||
- `template_name` (string) - The name of the new template. Defaults to
|
||||
"packer-{{timestamp}}" where timestamp will be the current time.
|
||||
|
||||
- `template_display_text` (string) - The display text of the new template.
|
||||
Defaults to the template_name.
|
||||
|
||||
- `template_featured` (bool) - Set to true to indicate that the template
|
||||
is featured. Defaults to false.
|
||||
|
||||
- `template_public` (bool) - Set to true to indicate that the template
|
||||
is available for all accounts. Defaults to false.
|
||||
|
||||
- `template_password_enabled` (bool) - Set to true to indicate the
|
||||
template should be password enabled. Defaults to false.
|
||||
|
||||
- `template_requires_hvm` (bool) - Set to true to indicate the template
|
||||
requires hardware-assisted virtualization. Defaults to false.
|
||||
|
||||
- `template_scalable` (bool) - Set to true to indicate that the template
|
||||
contains tools to support dynamic scaling of VM cpu/memory. Defaults to
|
||||
false.
|
||||
|
||||
- `template_tag` (string) - Template Tag
|
||||
- `tags` (map[string]string) - Tags
|
|
@ -0,0 +1,33 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/cloudstack/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `api_url` (string) - The CloudStack API endpoint we will connect to. It can
|
||||
also be specified via environment variable CLOUDSTACK_API_URL, if set.
|
||||
|
||||
- `api_key` (string) - The API key used to sign all API requests. It can also
|
||||
be specified via environment variable CLOUDSTACK_API_KEY, if set.
|
||||
|
||||
- `secret_key` (string) - The secret key used to sign all API requests. It
|
||||
can also be specified via environment variable CLOUDSTACK_SECRET_KEY, if
|
||||
set.
|
||||
|
||||
- `network` (string) - The name or ID of the network to connect the instance
|
||||
to.
|
||||
|
||||
- `service_offering` (string) - The name or ID of the service offering used
|
||||
for the instance.
|
||||
|
||||
- `source_iso` (string) - The name or ID of an ISO that will be mounted
|
||||
before booting the instance. This option is mutually exclusive with
|
||||
source_template. When using source_iso, both disk_offering and
|
||||
hypervisor are required.
|
||||
|
||||
- `source_template` (string) - The name or ID of the template used as base
|
||||
template for the instance. This option is mutually exclusive with
|
||||
source_iso.
|
||||
|
||||
- `zone` (string) - The name or ID of the zone where the instance will be
|
||||
created.
|
||||
|
||||
- `template_os` (string) - The name or ID of the template OS for the new
|
||||
template that will be created.
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/digitalocean/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `api_url` (string) - Non standard api endpoint URL. Set this if you are
|
||||
using a DigitalOcean API compatible service. It can also be specified via
|
||||
environment variable DIGITALOCEAN_API_URL.
|
||||
|
||||
- `private_networking` (bool) - Set to true to enable private networking
|
||||
for the droplet being created. This defaults to false, or not enabled.
|
||||
|
||||
- `monitoring` (bool) - Set to true to enable monitoring for the droplet
|
||||
being created. This defaults to false, or not enabled.
|
||||
|
||||
- `ipv6` (bool) - Set to true to enable ipv6 for the droplet being
|
||||
created. This defaults to false, or not enabled.
|
||||
|
||||
- `snapshot_name` (string) - The name of the resulting snapshot that will
|
||||
appear in your account. Defaults to "packer-{{timestamp}}" (see
|
||||
configuration templates for more info).
|
||||
|
||||
- `snapshot_regions` ([]string) - The regions of the resulting
|
||||
snapshot that will appear in your account.
|
||||
|
||||
- `state_timeout` (time.Duration) - The time to wait, as a duration string, for a
|
||||
droplet to enter a desired state (such as "active") before timing out. The
|
||||
default state timeout is "6m".
|
||||
|
||||
- `droplet_name` (string) - The name assigned to the droplet. DigitalOcean
|
||||
sets the hostname of the machine to this value.
|
||||
|
||||
- `user_data` (string) - User data to launch with the Droplet. Packer will
|
||||
not automatically wait for a user script to finish before shutting down the
|
||||
instance this must be handled in a provisioner.
|
||||
|
||||
- `user_data_file` (string) - Path to a file that will be used for the user
|
||||
data when launching the Droplet.
|
||||
|
||||
- `tags` ([]string) - Tags to apply to the droplet when it is created
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/digitalocean/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `api_token` (string) - The client TOKEN to use to access your account. It
|
||||
can also be specified via environment variable DIGITALOCEAN_API_TOKEN, if
|
||||
set.
|
||||
|
||||
- `region` (string) - The name (or slug) of the region to launch the droplet
|
||||
in. Consequently, this is the region where the snapshot will be available.
|
||||
See
|
||||
https://developers.digitalocean.com/documentation/v2/#list-all-regions
|
||||
for the accepted region names/slugs.
|
||||
|
||||
- `size` (string) - The name (or slug) of the droplet size to use. See
|
||||
https://developers.digitalocean.com/documentation/v2/#list-all-sizes
|
||||
for the accepted size names/slugs.
|
||||
|
||||
- `image` (string) - The name (or slug) of the base image to use. This is the
|
||||
image that will be used to launch a new droplet and provision it. See
|
||||
https://developers.digitalocean.com/documentation/v2/#list-all-images
|
||||
for details on how to get a list of the accepted image names/slugs.
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!-- Code generated from the comments of the AwsAccessConfig struct in builder/docker/ecr_login.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `aws_access_key` (string) - The AWS access key used to communicate with
|
||||
AWS. Learn how to set
|
||||
this.
|
||||
|
||||
- `aws_secret_key` (string) - The AWS secret key used to communicate with
|
||||
AWS. Learn how to set
|
||||
this.
|
||||
|
||||
- `aws_token` (string) - The AWS access token to use. This is different from
|
||||
the access key and secret key. If you're not sure what this is, then you
|
||||
probably don't need it. This will also be read from the AWS_SESSION_TOKEN
|
||||
environmental variable.
|
||||
|
||||
- `aws_profile` (string) - The AWS shared credentials profile used to
|
||||
communicate with AWS. Learn how to set
|
||||
this.
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/docker/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `author` (string) - Set the author (e-mail) of a commit.
|
||||
|
||||
- `changes` ([]string) - Dockerfile instructions to add to the commit. Example of instructions
|
||||
are CMD, ENTRYPOINT, ENV, and EXPOSE. Example: [ "USER ubuntu", "WORKDIR
|
||||
/app", "EXPOSE 8080" ]
|
||||
|
||||
- `container_dir` (string) - The directory inside container to mount temp directory from host server
|
||||
for work file provisioner. This defaults to c:/packer-files on windows
|
||||
and /packer-files on other systems.
|
||||
|
||||
- `exec_user` (string) - Username (UID) to run remote commands with. You can also set the group
|
||||
name/ID if you want: (UID or UID:GID). You may need this if you get
|
||||
permission errors trying to run the shell or other provisioners.
|
||||
|
||||
- `privileged` (bool) - If true, run the docker container with the `--privileged` flag. This
|
||||
defaults to false if not set.
|
||||
|
||||
- `pull` (bool) - If true, the configured image will be pulled using `docker pull` prior
|
||||
to use. Otherwise, it is assumed the image already exists and can be
|
||||
used. This defaults to true if not set.
|
||||
|
||||
- `run_command` ([]string) - An array of arguments to pass to docker run in order to run the
|
||||
container. By default this is set to ["-d", "-i", "-t",
|
||||
"--entrypoint=/bin/sh", "--", "{{.Image}}"] if you are using a linux
|
||||
container, and ["-d", "-i", "-t", "--entrypoint=powershell", "--",
|
||||
"{{.Image}}"] if you are running a windows container. {{.Image}} is a
|
||||
template variable that corresponds to the image template option. Passing
|
||||
the entrypoint option this way will make it the default entrypoint of
|
||||
the resulting image, so running docker run -it --rm will start the
|
||||
docker image from the /bin/sh shell interpreter; you could run a script
|
||||
or another shell by running docker run -it --rm -c /bin/bash. If your
|
||||
docker image embeds a binary intended to be run often, you should
|
||||
consider changing the default entrypoint to point to it.
|
||||
|
||||
- `volumes` (map[string]string) - A mapping of additional volumes to mount into this container. The key of
|
||||
the object is the host path, the value is the container path.
|
||||
|
||||
- `fix_upload_owner` (bool) - If true, files uploaded to the container will be owned by the user the
|
||||
container is running as. If false, the owner will depend on the version
|
||||
of docker installed in the system. Defaults to true.
|
||||
|
||||
- `windows_container` (bool) - If "true", tells Packer that you are building a Windows container
|
||||
running on a windows host. This is necessary for building Windows
|
||||
containers, because our normal docker bindings do not work for them.
|
||||
|
||||
- `login` (bool) - This is used to login to dockerhub to pull a private base container. For
|
||||
pushing to dockerhub, see the docker post-processors
|
||||
|
||||
- `login_password` (string) - The password to use to authenticate to login.
|
||||
|
||||
- `login_server` (string) - The server address to login to.
|
||||
|
||||
- `login_username` (string) - The username to use to authenticate to login.
|
||||
|
||||
- `ecr_login` (bool) - Defaults to false. If true, the builder will login in order to pull the
|
||||
image from Amazon EC2 Container Registry (ECR). The builder only logs in
|
||||
for the duration of the pull. If true login_server is required and
|
||||
login, login_username, and login_password will be ignored. For more
|
||||
information see the section on ECR.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/docker/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `commit` (bool) - If true, the container will be committed to an image rather than exported.
|
||||
|
||||
- `discard` (bool) - Throw away the container when the build is complete. This is useful for
|
||||
the [artifice
|
||||
post-processor](https://www.packer.io/docs/post-processors/artifice.html).
|
||||
|
||||
- `export_path` (string) - The path where the final container will be exported as a tar file.
|
||||
|
||||
- `image` (string) - The base image for the Docker container that will be started. This image
|
||||
will be pulled from the Docker registry if it doesn't already exist.
|
||||
|
||||
- `message` (string) - Set a message for the commit.
|
||||
|
|
@ -0,0 +1,119 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `account_file` (string) - The JSON file containing your account
|
||||
credentials. Not required if you run Packer on a GCE instance with a
|
||||
service account. Instructions for creating the file or using service
|
||||
accounts are above.
|
||||
|
||||
- `accelerator_type` (string) - Full or partial URL of the guest accelerator
|
||||
type. GPU accelerators can only be used with
|
||||
"on_host_maintenance": "TERMINATE" option set. Example:
|
||||
"projects/project_id/zones/europe-west1-b/acceleratorTypes/nvidia-tesla-k80"
|
||||
|
||||
- `accelerator_count` (int64) - Number of guest accelerator cards to add to
|
||||
the launched instance.
|
||||
|
||||
- `address` (string) - The name of a pre-allocated static external IP
|
||||
address. Note, must be the name and not the actual IP address.
|
||||
|
||||
- `disable_default_service_account` (bool) - If true, the default service
|
||||
account will not be used if service_account_email is not specified. Set
|
||||
this value to true and omit service_account_email to provision a VM with
|
||||
no service account.
|
||||
|
||||
- `disk_name` (string) - The name of the disk, if unset the instance name
|
||||
will be used.
|
||||
|
||||
- `disk_size` (int64) - The size of the disk in GB. This defaults to 10,
|
||||
which is 10GB.
|
||||
|
||||
- `disk_type` (string) - Type of disk used to back your instance, like
|
||||
pd-ssd or pd-standard. Defaults to pd-standard.
|
||||
|
||||
- `image_name` (string) - The unique name of the resulting image. Defaults to
|
||||
"packer-{{timestamp}}".
|
||||
|
||||
- `image_description` (string) - The description of the resulting image.
|
||||
|
||||
- `image_encryption_key` (*compute.CustomerEncryptionKey) - Image encryption key to apply to the created image. Possible values:
|
||||
|
||||
- `image_family` (string) - The name of the image family to which the
|
||||
resulting image belongs. You can create disks by specifying an image family
|
||||
instead of a specific image name. The image family always returns its
|
||||
latest image that is not deprecated.
|
||||
|
||||
- `image_labels` (map[string]string) - Key/value pair labels to
|
||||
apply to the created image.
|
||||
|
||||
- `image_licenses` ([]string) - Licenses to apply to the created
|
||||
image.
|
||||
|
||||
- `instance_name` (string) - A name to give the launched instance. Beware
|
||||
that this must be unique. Defaults to "packer-{{uuid}}".
|
||||
|
||||
- `labels` (map[string]string) - Key/value pair labels to apply to
|
||||
the launched instance.
|
||||
|
||||
- `machine_type` (string) - The machine type. Defaults to "n1-standard-1".
|
||||
|
||||
- `metadata` (map[string]string) - Metadata applied to the launched
|
||||
instance.
|
||||
|
||||
- `min_cpu_platform` (string) - A Minimum CPU Platform for VM Instance.
|
||||
Availability and default CPU platforms vary across zones, based on the
|
||||
hardware available in each GCP zone.
|
||||
Details
|
||||
|
||||
- `network` (string) - The Google Compute network id or URL to use for the
|
||||
launched instance. Defaults to "default". If the value is not a URL, it
|
||||
will be interpolated to
|
||||
projects/((network_project_id))/global/networks/((network)). This value
|
||||
is not required if a subnet is specified.
|
||||
|
||||
- `network_project_id` (string) - The project ID for the network and
|
||||
subnetwork to use for launched instance. Defaults to project_id.
|
||||
|
||||
- `omit_external_ip` (bool) - If true, the instance will not have an
|
||||
external IP. use_internal_ip must be true if this property is true.
|
||||
|
||||
- `on_host_maintenance` (string) - Sets Host Maintenance Option. Valid
|
||||
choices are MIGRATE and TERMINATE. Please see GCE Instance Scheduling
|
||||
Options,
|
||||
as not all machine_types support MIGRATE (i.e. machines with GPUs). If
|
||||
preemptible is true this can only be TERMINATE. If preemptible is false,
|
||||
it defaults to MIGRATE
|
||||
|
||||
- `preemptible` (bool) - If true, launch a preemptible instance.
|
||||
|
||||
- `state_timeout` (string) - The time to wait for instance state changes.
|
||||
Defaults to "5m".
|
||||
|
||||
- `region` (string) - The region in which to launch the instance. Defaults to
|
||||
the region hosting the specified zone.
|
||||
|
||||
- `scopes` ([]string) - The service account scopes for launched
|
||||
instance. Defaults to:
|
||||
|
||||
- `service_account_email` (string) - The service account to be used for
|
||||
launched instance. Defaults to the project's default service account unless
|
||||
disable_default_service_account is true.
|
||||
|
||||
- `source_image_project_id` (string) - The project ID of the project
|
||||
containing the source image.
|
||||
|
||||
- `startup_script_file` (string) - The path to a startup script to run on the
|
||||
VM from which the image will be made.
|
||||
|
||||
- `subnetwork` (string) - The Google Compute subnetwork id or URL to use for
|
||||
the launched instance. Only required if the network has been created with
|
||||
custom subnetting. Note, the region of the subnetwork must match the
|
||||
region or zone in which the VM is launched. If the value is not a URL,
|
||||
it will be interpolated to
|
||||
projects/((network_project_id))/regions/((region))/subnetworks/((subnetwork))
|
||||
|
||||
- `tags` ([]string) - Assign network tags to apply firewall rules to
|
||||
VM instance.
|
||||
|
||||
- `use_internal_ip` (bool) - If true, use the instance's internal IP
|
||||
instead of its external IP during building.
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/googlecompute/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `project_id` (string) - The project ID that will be used to launch
|
||||
instances and store images.
|
||||
|
||||
- `source_image` (string) - The source image to use to create the new image
|
||||
from. You can also specify source_image_family instead. If both
|
||||
source_image and source_image_family are specified, source_image
|
||||
takes precedence. Example: "debian-8-jessie-v20161027"
|
||||
|
||||
- `source_image_family` (string) - The source image family to use to create
|
||||
the new image from. The image family always returns its latest image that
|
||||
is not deprecated. Example: "debian-8".
|
||||
|
||||
- `zone` (string) - The zone in which to launch the instance used to create
|
||||
the image. Example: "us-central1-a"
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/hyperone/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `api_url` (string) - Custom API endpoint URL, compatible with HyperOne.
|
||||
It can also be specified via environment variable HYPERONE_API_URL.
|
||||
|
||||
- `token_login` (string) - Login (an e-mail) on HyperOne platform. Set this
|
||||
if you want to fetch the token by SSH authentication.
|
||||
|
||||
- `state_timeout` (time.Duration) - Timeout for waiting on the API to complete
|
||||
a request. Defaults to 5m.
|
||||
|
||||
- `image_name` (string) - The name of the resulting image. Defaults to
|
||||
"packer-{{timestamp}}"
|
||||
(see configuration templates for more info).
|
||||
|
||||
- `image_description` (string) - The description of the resulting image.
|
||||
|
||||
- `image_tags` (map[string]interface{}) - Key/value pair tags to
|
||||
add to the created image.
|
||||
|
||||
- `image_service` (string) - The service of the resulting image.
|
||||
|
||||
- `vm_name` (string) - The name of the created server.
|
||||
|
||||
- `vm_tags` (map[string]interface{}) - Key/value pair tags to
|
||||
add to the created server.
|
||||
|
||||
- `disk_name` (string) - The name of the created disk.
|
||||
|
||||
- `disk_type` (string) - The type of the created disk. Defaults to ssd.
|
||||
|
||||
- `network` (string) - The ID of the network to attach to the created server.
|
||||
|
||||
- `private_ip` (string) - The ID of the private IP within chosen network
|
||||
that should be assigned to the created server.
|
||||
|
||||
- `public_ip` (string) - The ID of the public IP that should be assigned to
|
||||
the created server. If network is chosen, the public IP will be associated
|
||||
with server's private IP.
|
||||
|
||||
- `public_netadp_service` (string) - Custom service of public network adapter.
|
||||
Can be useful when using custom api_url. Defaults to public.
|
||||
|
||||
- `chroot_disk` (bool) - Chroot Disk
|
||||
- `chroot_disk_size` (float32) - Chroot Disk Size
|
||||
- `chroot_disk_type` (string) - Chroot Disk Type
|
||||
- `chroot_mount_path` (string) - Chroot Mount Path
|
||||
- `chroot_mounts` ([][]string) - Chroot Mounts
|
||||
- `chroot_copy_files` ([]string) - Chroot Copy Files
|
||||
- `chroot_command_wrapper` (string) - Chroot Command Wrapper
|
||||
- `mount_options` ([]string) - Mount Options
|
||||
- `mount_partition` (string) - Mount Partition
|
||||
- `pre_mount_commands` ([]string) - Pre Mount Commands
|
||||
- `post_mount_commands` ([]string) - Post Mount Commands
|
||||
- `ssh_keys` ([]string) - List of SSH keys by name or id to be added
|
||||
to the server on launch.
|
||||
|
||||
- `user_data` (string) - User data to launch with the server. Packer will not
|
||||
automatically wait for a user script to finish before shutting down the
|
||||
instance, this must be handled in a provisioner.
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/hyperone/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `token` (string) - The authentication token used to access your account.
|
||||
This can be either a session token or a service account token.
|
||||
If not defined, the builder will attempt to find it in the following order:
|
||||
|
||||
- `project` (string) - The id or name of the project. This field is required
|
||||
only if using session tokens. It should be skipped when using service
|
||||
account authentication.
|
||||
|
||||
- `source_image` (string) - ID or name of the image to launch server from.
|
||||
|
||||
- `vm_type` (string) - ID or name of the type this server should be created with.
|
||||
|
||||
- `disk_size` (float32) - Size of the created disk, in GiB.
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<!-- Code generated from the comments of the OutputConfig struct in builder/hyperv/common/output_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `output_directory` (string) - This setting specifies the directory that
|
||||
artifacts from the build, such as the virtual machine files and disks,
|
||||
will be output to. The path to the directory may be relative or
|
||||
absolute. If relative, the path is relative to the working directory
|
||||
packer is executed from. This directory must not exist or, if
|
||||
created, must be empty prior to running the builder. By default this is
|
||||
"output-BUILDNAME" where "BUILDNAME" is the name of the build.
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<!-- Code generated from the comments of the ShutdownConfig struct in builder/hyperv/common/shutdown_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `shutdown_command` (string) - The command to use to gracefully shut down
|
||||
the machine once all provisioning is complete. By default this is an
|
||||
empty string, which tells Packer to just forcefully shut down the
|
||||
machine. This setting can be safely omitted if for example, a shutdown
|
||||
command to gracefully halt the machine is configured inside a
|
||||
provisioning script. If one or more scripts require a reboot it is
|
||||
suggested to leave this blank (since reboots may fail) and instead
|
||||
specify the final shutdown command in your last script.
|
||||
|
||||
- `shutdown_timeout` (string) - The amount of time to wait after executing
|
||||
the shutdown_command for the virtual machine to actually shut down.
|
||||
If the machine doesn't shut down in this time it is considered an
|
||||
error. By default, the time out is "5m" (five minutes).
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/hyperv/iso/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `disk_size` (uint) - The size, in megabytes, of the hard disk to create
|
||||
for the VM. By default, this is 40 GB.
|
||||
|
||||
- `disk_block_size` (uint) - The block size of the VHD to be created.
|
||||
Recommended disk block size for Linux hyper-v guests is 1 MiB. This
|
||||
defaults to "32 MiB".
|
||||
|
||||
- `memory` (uint) - The amount, in megabytes, of RAM to assign to the
|
||||
VM. By default, this is 1 GB.
|
||||
|
||||
- `secondary_iso_images` ([]string) - A list of ISO paths to
|
||||
attach to a VM when it is booted. This is most useful for unattended
|
||||
Windows installs, which look for an Autounattend.xml file on removable
|
||||
media. By default, no secondary ISO will be attached.
|
||||
|
||||
- `guest_additions_mode` (string) - If set to attach then attach and
|
||||
mount the ISO image specified in guest_additions_path. If set to
|
||||
none then guest additions are not attached and mounted; This is the
|
||||
default.
|
||||
|
||||
- `guest_additions_path` (string) - The path to the ISO image for guest
|
||||
additions.
|
||||
|
||||
- `vm_name` (string) - This is the name of the new virtual machine,
|
||||
without the file extension. By default this is "packer-BUILDNAME",
|
||||
where "BUILDNAME" is the name of the build.
|
||||
|
||||
- `switch_name` (string) - The name of the switch to connect the virtual
|
||||
machine to. By default, leaving this value unset will cause Packer to
|
||||
try and determine the switch to use by looking for an external switch
|
||||
that is up and running.
|
||||
|
||||
- `switch_vlan_id` (string) - This is the VLAN of the virtual switch's
|
||||
network card. By default none is set. If none is set then a VLAN is not
|
||||
set on the switch's network card. If this value is set it should match
|
||||
the VLAN specified in by vlan_id.
|
||||
|
||||
- `mac_address` (string) - This allows a specific MAC address to be used on
|
||||
the default virtual network card. The MAC address must be a string with
|
||||
no delimiters, for example "0000deadbeef".
|
||||
|
||||
- `vlan_id` (string) - This is the VLAN of the virtual machine's network
|
||||
card for the new virtual machine. By default none is set. If none is set
|
||||
then VLANs are not set on the virtual machine's network card.
|
||||
|
||||
- `cpus` (uint) - The number of CPUs the virtual machine should use. If
|
||||
this isn't specified, the default is 1 CPU.
|
||||
|
||||
- `generation` (uint) - The Hyper-V generation for the virtual machine. By
|
||||
default, this is 1. Generation 2 Hyper-V virtual machines do not support
|
||||
floppy drives. In this scenario use secondary_iso_images instead. Hard
|
||||
drives and DVD drives will also be SCSI and not IDE.
|
||||
|
||||
- `enable_mac_spoofing` (bool) - If true enable MAC address spoofing
|
||||
for the virtual machine. This defaults to false.
|
||||
|
||||
- `use_legacy_network_adapter` (bool) - If true use a legacy network adapter as the NIC.
|
||||
This defaults to false. A legacy network adapter is fully emulated NIC, and is thus
|
||||
supported by various exotic operating systems, but this emulation requires
|
||||
additional overhead and should only be used if absolutely necessary.
|
||||
|
||||
- `enable_dynamic_memory` (bool) - If true enable dynamic memory for
|
||||
the virtual machine. This defaults to false.
|
||||
|
||||
- `enable_secure_boot` (bool) - If true enable secure boot for the
|
||||
virtual machine. This defaults to false. See secure_boot_template
|
||||
below for additional settings.
|
||||
|
||||
- `secure_boot_template` (string) - The secure boot template to be
|
||||
configured. Valid values are "MicrosoftWindows" (Windows) or
|
||||
"MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if
|
||||
enable_secure_boot is set to "true". This defaults to "MicrosoftWindows".
|
||||
|
||||
- `enable_virtualization_extensions` (bool) - If true enable
|
||||
virtualization extensions for the virtual machine. This defaults to
|
||||
false. For nested virtualization you need to enable MAC spoofing,
|
||||
disable dynamic memory and have at least 4GB of RAM assigned to the
|
||||
virtual machine.
|
||||
|
||||
- `temp_path` (string) - The location under which Packer will create a
|
||||
directory to house all the VM files and folders during the build.
|
||||
By default %TEMP% is used which, for most systems, will evaluate to
|
||||
%USERPROFILE%/AppData/Local/Temp.
|
||||
|
||||
- `configuration_version` (string) - This allows you to set the vm version when
|
||||
calling New-VM to generate the vm.
|
||||
|
||||
- `keep_registered` (bool) - If "true", Packer will not delete the VM from
|
||||
The Hyper-V manager.
|
||||
|
||||
- `communicator` (string) - Communicator
|
||||
- `disk_additional_size` ([]uint) - The size or sizes of any
|
||||
additional hard disks for the VM in megabytes. If this is not specified
|
||||
then the VM will only contain a primary hard disk. Additional drives
|
||||
will be attached to the SCSI interface only. The builder uses
|
||||
expandable rather than fixed-size virtual hard disks, so the actual
|
||||
file representing the disk will not use the full size unless it is
|
||||
full.
|
||||
|
||||
- `skip_compaction` (bool) - If true skip compacting the hard disk for
|
||||
the virtual machine when exporting. This defaults to false.
|
||||
|
||||
- `skip_export` (bool) - If true Packer will skip the export of the VM.
|
||||
If you are interested only in the VHD/VHDX files, you can enable this
|
||||
option. The resulting VHD/VHDX file will be output to
|
||||
<output_directory>/Virtual Hard Disks. By default this option is false
|
||||
and Packer will export the VM to output_directory.
|
||||
|
||||
- `differencing_disk` (bool) - If true enables differencing disks. Only
|
||||
the changes will be written to the new disk. This is especially useful if
|
||||
your source is a VHD/VHDX. This defaults to false.
|
||||
|
||||
- `use_fixed_vhd_format` (bool) - If true, creates the boot disk on the
|
||||
virtual machine as a fixed VHD format disk. The default is false, which
|
||||
creates a dynamic VHDX format disk. This option requires setting
|
||||
generation to 1, skip_compaction to true, and
|
||||
differencing_disk to false. Additionally, any value entered for
|
||||
disk_block_size will be ignored. The most likely use case for this
|
||||
option is outputing a disk that is in the format required for upload to
|
||||
Azure.
|
||||
|
||||
- `headless` (bool) - Packer defaults to building Hyper-V virtual
|
||||
machines by launching a GUI that shows the console of the machine being
|
||||
built. When this value is set to true, the machine will start without a
|
||||
console.
|
||||
|
|
@ -0,0 +1,117 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/hyperv/vmcx/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `memory` (uint) - The amount, in megabytes, of RAM to assign to the
|
||||
VM. By default, this is 1 GB.
|
||||
|
||||
- `secondary_iso_images` ([]string) - A list of ISO paths to
|
||||
attach to a VM when it is booted. This is most useful for unattended
|
||||
Windows installs, which look for an Autounattend.xml file on removable
|
||||
media. By default, no secondary ISO will be attached.
|
||||
|
||||
- `guest_additions_mode` (string) - If set to attach then attach and
|
||||
mount the ISO image specified in guest_additions_path. If set to
|
||||
none then guest additions are not attached and mounted; This is the
|
||||
default.
|
||||
|
||||
- `guest_additions_path` (string) - The path to the ISO image for guest
|
||||
additions.
|
||||
|
||||
- `clone_from_vmcx_path` (string) - This is the path to a directory containing an exported virtual machine.
|
||||
|
||||
- `clone_from_vm_name` (string) - This is the name of the virtual machine to clone from.
|
||||
|
||||
- `clone_from_snapshot_name` (string) - The name of a snapshot in the
|
||||
source machine to use as a starting point for the clone. If the value
|
||||
given is an empty string, the last snapshot present in the source will
|
||||
be chosen as the starting point for the new VM.
|
||||
|
||||
- `clone_all_snapshots` (bool) - If set to true all snapshots
|
||||
present in the source machine will be copied when the machine is
|
||||
cloned. The final result of the build will be an exported virtual
|
||||
machine that contains all the snapshots of the parent.
|
||||
|
||||
- `vm_name` (string) - This is the name of the new virtual machine,
|
||||
without the file extension. By default this is "packer-BUILDNAME",
|
||||
where "BUILDNAME" is the name of the build.
|
||||
|
||||
- `differencing_disk` (bool) - If true enables differencing disks. Only
|
||||
the changes will be written to the new disk. This is especially useful if
|
||||
your source is a VHD/VHDX. This defaults to false.
|
||||
|
||||
- `switch_name` (string) - The name of the switch to connect the virtual
|
||||
machine to. By default, leaving this value unset will cause Packer to
|
||||
try and determine the switch to use by looking for an external switch
|
||||
that is up and running.
|
||||
|
||||
- `copy_in_compare` (bool) - When cloning a vm to build from, we run a powershell
|
||||
Compare-VM command, which, depending on your version of Windows, may need
|
||||
the "Copy" flag to be set to true or false. Defaults to "false". Command:
|
||||
|
||||
- `switch_vlan_id` (string) - This is the VLAN of the virtual switch's
|
||||
network card. By default none is set. If none is set then a VLAN is not
|
||||
set on the switch's network card. If this value is set it should match
|
||||
the VLAN specified in by vlan_id.
|
||||
|
||||
- `mac_address` (string) - This allows a specific MAC address to be used on
|
||||
the default virtual network card. The MAC address must be a string with
|
||||
no delimiters, for example "0000deadbeef".
|
||||
|
||||
- `vlan_id` (string) - This is the VLAN of the virtual machine's network
|
||||
card for the new virtual machine. By default none is set. If none is set
|
||||
then VLANs are not set on the virtual machine's network card.
|
||||
|
||||
- `cpus` (uint) - The number of CPUs the virtual machine should use. If
|
||||
this isn't specified, the default is 1 CPU.
|
||||
|
||||
- `generation` (uint) - The Hyper-V generation for the virtual machine. By
|
||||
default, this is 1. Generation 2 Hyper-V virtual machines do not support
|
||||
floppy drives. In this scenario use secondary_iso_images instead. Hard
|
||||
drives and DVD drives will also be SCSI and not IDE.
|
||||
|
||||
- `enable_mac_spoofing` (bool) - If true enable MAC address spoofing
|
||||
for the virtual machine. This defaults to false.
|
||||
|
||||
- `enable_dynamic_memory` (bool) - If true enable dynamic memory for
|
||||
the virtual machine. This defaults to false.
|
||||
|
||||
- `enable_secure_boot` (bool) - If true enable secure boot for the
|
||||
virtual machine. This defaults to false. See secure_boot_template
|
||||
below for additional settings.
|
||||
|
||||
- `secure_boot_template` (string) - The secure boot template to be
|
||||
configured. Valid values are "MicrosoftWindows" (Windows) or
|
||||
"MicrosoftUEFICertificateAuthority" (Linux). This only takes effect if
|
||||
enable_secure_boot is set to "true". This defaults to "MicrosoftWindows".
|
||||
|
||||
- `enable_virtualization_extensions` (bool) - If true enable
|
||||
virtualization extensions for the virtual machine. This defaults to
|
||||
false. For nested virtualization you need to enable MAC spoofing,
|
||||
disable dynamic memory and have at least 4GB of RAM assigned to the
|
||||
virtual machine.
|
||||
|
||||
- `temp_path` (string) - The location under which Packer will create a
|
||||
directory to house all the VM files and folders during the build.
|
||||
By default %TEMP% is used which, for most systems, will evaluate to
|
||||
%USERPROFILE%/AppData/Local/Temp.
|
||||
|
||||
- `configuration_version` (string) - This allows you to set the vm version when
|
||||
calling New-VM to generate the vm.
|
||||
|
||||
- `keep_registered` (bool) - If "true", Packer will not delete the VM from
|
||||
The Hyper-V manager.
|
||||
|
||||
- `communicator` (string) - Communicator
|
||||
- `skip_compaction` (bool) - If true skip compacting the hard disk for
|
||||
the virtual machine when exporting. This defaults to false.
|
||||
|
||||
- `skip_export` (bool) - If true Packer will skip the export of the VM.
|
||||
If you are interested only in the VHD/VHDX files, you can enable this
|
||||
option. The resulting VHD/VHDX file will be output to
|
||||
<output_directory>/Virtual Hard Disks. By default this option is false
|
||||
and Packer will export the VM to output_directory.
|
||||
|
||||
- `headless` (bool) - Packer defaults to building Hyper-V virtual
|
||||
machines by launching a GUI that shows the console of the machine being
|
||||
built. When this value is set to true, the machine will start without a
|
||||
console.
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/lxc/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `output_directory` (string) - The directory in which to save the exported
|
||||
tar.gz. Defaults to output-<BuildName> in the current directory.
|
||||
|
||||
- `container_name` (string) - The name of the LXC container. Usually stored
|
||||
in /var/lib/lxc/containers/<container_name>. Defaults to
|
||||
packer-<BuildName>.
|
||||
|
||||
- `command_wrapper` (string) - Allows you to specify a wrapper command, such
|
||||
as ssh so you can execute packer builds on a remote host. Defaults to
|
||||
Empty.
|
||||
|
||||
- `init_timeout` (string) - The timeout in seconds to wait for the the
|
||||
container to start. Defaults to 20 seconds.
|
||||
|
||||
- `create_options` ([]string) - Options to pass to lxc-create. For
|
||||
instance, you can specify a custom LXC container configuration file with
|
||||
["-f", "/path/to/lxc.conf"]. Defaults to []. See man 1 lxc-create for
|
||||
available options.
|
||||
|
||||
- `start_options` ([]string) - Options to pass to lxc-start. For
|
||||
instance, you can override parameters from the LXC container configuration
|
||||
file via ["--define", "KEY=VALUE"]. Defaults to []. See
|
||||
man 1 lxc-start for available options.
|
||||
|
||||
- `attach_options` ([]string) - Options to pass to lxc-attach. For
|
||||
instance, you can prevent the container from inheriting the host machine's
|
||||
environment by specifying ["--clear-env"]. Defaults to []. See
|
||||
man 1 lxc-attach for available options.
|
||||
|
||||
- `template_parameters` ([]string) - Options to pass to the given
|
||||
lxc-template command, usually located in
|
||||
/usr/share/lxc/templates/lxc-<template_name>. Note: This gets passed as
|
||||
ARGV to the template command. Ensure you have an array of strings, as a
|
||||
single string with spaces probably won't work. Defaults to [].
|
||||
|
||||
- `target_runlevel` (int) - The minimum run level to wait for the
|
||||
container to reach. Note some distributions (Ubuntu) simulate run levels
|
||||
and may report 5 rather than 3.
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/lxc/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `config_file` (string) - The path to the lxc configuration file.
|
||||
|
||||
- `template_name` (string) - The LXC template name to use.
|
||||
|
||||
- `template_environment_vars` ([]string) - Environmental variables to
|
||||
use to build the template with.
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/lxd/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `output_image` (string) - The name of the output artifact. Defaults to
|
||||
name.
|
||||
|
||||
- `container_name` (string) - Container Name
|
||||
- `command_wrapper` (string) - Lets you prefix all builder commands, such as
|
||||
with ssh for a remote build host. Defaults to "".
|
||||
|
||||
- `profile` (string) - Profile
|
||||
- `init_sleep` (string) - The number of seconds to sleep between launching
|
||||
the LXD instance and provisioning it; defaults to 3 seconds.
|
||||
|
||||
- `publish_properties` (map[string]string) - Pass key values to the publish
|
||||
step to be set as properties on the output image. This is most helpful to
|
||||
set the description, but can be used to set anything needed. See
|
||||
https://stgraber.org/2016/03/30/lxd-2-0-image-management-512/
|
||||
for more properties.
|
||||
|
||||
- `launch_config` (map[string]string) - List of key/value pairs you wish to
|
||||
pass to lxc launch via --config. Defaults to empty.
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/lxd/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image` (string) - The source image to use when creating the build
|
||||
container. This can be a (local or remote) image (name or fingerprint).
|
||||
E.G. my-base-image, ubuntu-daily:x, 08fababf6f27, ...
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `access_key` (string) - Access Key
|
||||
- `secret_key` (string) - Secret Key
|
||||
- `member_server_image_no` (string) - Previous image code. If there is an
|
||||
image previously created, it can be used to create a new image.
|
||||
(server_image_product_code is required if not specified)
|
||||
|
||||
- `server_image_name` (string) - Name of an image to create.
|
||||
|
||||
- `server_image_description` (string) - Description of an image to create.
|
||||
|
||||
- `user_data` (string) - User data to apply when launching the instance. Note
|
||||
that you need to be careful about escaping characters due to the templates
|
||||
being JSON. It is often more convenient to use user_data_file, instead.
|
||||
Packer will not automatically wait for a user script to finish before
|
||||
shutting down the instance this must be handled in a provisioner.
|
||||
|
||||
- `user_data_file` (string) - Path to a file that will be used for the user
|
||||
data when launching the instance.
|
||||
|
||||
- `block_storage_size` (int) - You can add block storage ranging from 10
|
||||
GB to 2000 GB, in increments of 10 GB.
|
||||
|
||||
- `region` (string) - Name of the region where you want to create an image.
|
||||
(default: Korea)
|
||||
|
||||
- `access_control_group_configuration_no` (string) - This is used to allow
|
||||
winrm access when you create a Windows server. An ACG that specifies an
|
||||
access source (0.0.0.0/0) and allowed port (5985) must be created in
|
||||
advance.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/ncloud/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `server_image_product_code` (string) - Product code of an image to create.
|
||||
(member_server_image_no is required if not specified)
|
||||
|
||||
- `server_product_code` (string) - Product (spec) code to create.
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `user_id` (string) - User ID
|
||||
- `tenant_id` (string) - The tenant ID or name to boot the
|
||||
instance into. Some OpenStack installations require this. If not specified,
|
||||
Packer will use the environment variable OS_TENANT_NAME or
|
||||
OS_TENANT_ID, if set. Tenant is also called Project in later versions of
|
||||
OpenStack.
|
||||
|
||||
- `tenant_name` (string) - Tenant Name
|
||||
- `domain_id` (string) - Domain ID
|
||||
- `domain_name` (string) - The Domain name or ID you are
|
||||
authenticating with. OpenStack installations require this if identity v3 is
|
||||
used. Packer will use the environment variable OS_DOMAIN_NAME or
|
||||
OS_DOMAIN_ID, if set.
|
||||
|
||||
- `insecure` (bool) - Whether or not the connection to OpenStack can be
|
||||
done over an insecure connection. By default this is false.
|
||||
|
||||
- `region` (string) - The name of the region, such as "DFW", in which to
|
||||
launch the server to create the image. If not specified, Packer will use
|
||||
the environment variable OS_REGION_NAME, if set.
|
||||
|
||||
- `endpoint_type` (string) - The endpoint type to use. Can be any of
|
||||
"internal", "internalURL", "admin", "adminURL", "public", and "publicURL".
|
||||
By default this is "public".
|
||||
|
||||
- `cacert` (string) - Custom CA certificate file path. If omitted the
|
||||
OS_CACERT environment variable can be used.
|
||||
|
||||
- `cert` (string) - Client certificate file path for SSL client
|
||||
authentication. If omitted the OS_CERT environment variable can be used.
|
||||
|
||||
- `key` (string) - Client private key file path for SSL client
|
||||
authentication. If omitted the OS_KEY environment variable can be used.
|
||||
|
||||
- `token` (string) - the token (id) to use with token based authorization.
|
||||
Packer will use the environment variable OS_TOKEN, if set.
|
||||
|
||||
- `application_credential_name` (string) - The application credential name to
|
||||
use with application credential based authorization. Packer will use the
|
||||
environment variable OS_APPLICATION_CREDENTIAL_NAME, if set.
|
||||
|
||||
- `application_credential_id` (string) - The application credential id to
|
||||
use with application credential based authorization. Packer will use the
|
||||
environment variable OS_APPLICATION_CREDENTIAL_ID, if set.
|
||||
|
||||
- `application_credential_secret` (string) - The application credential secret
|
||||
to use with application credential based authorization. Packer will use the
|
||||
environment variable OS_APPLICATION_CREDENTIAL_SECRET, if set.
|
||||
|
||||
- `cloud` (string) - An entry in a clouds.yaml file. See the OpenStack
|
||||
os-client-config
|
||||
documentation
|
||||
for more information about clouds.yaml files. If omitted, the OS_CLOUD
|
||||
environment variable is used.
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<!-- Code generated from the comments of the AccessConfig struct in builder/openstack/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `username` (string) - The username or id used to connect to
|
||||
the OpenStack service. If not specified, Packer will use the environment
|
||||
variable OS_USERNAME or OS_USERID, if set. This is not required if
|
||||
using access token or application credential instead of password, or if using
|
||||
cloud.yaml.
|
||||
|
||||
- `password` (string) - The password used to connect to the OpenStack
|
||||
service. If not specified, Packer will use the environment variables
|
||||
OS_PASSWORD, if set. This is not required if using access token or
|
||||
application credential instead of password, or if using cloud.yaml.
|
||||
|
||||
- `identity_endpoint` (string) - The URL to the OpenStack Identity service.
|
||||
If not specified, Packer will use the environment variables OS_AUTH_URL,
|
||||
if set. This is not required if using cloud.yaml.
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
<!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `metadata` (map[string]string) - Glance metadata that will be
|
||||
applied to the image.
|
||||
|
||||
- `image_visibility` (imageservice.ImageVisibility) - One of "public", "private", "shared", or
|
||||
"community".
|
||||
|
||||
- `image_members` ([]string) - List of members to add to the image
|
||||
after creation. An image member is usually a project (also called the
|
||||
"tenant") with whom the image is shared.
|
||||
|
||||
- `image_disk_format` (string) - Disk format of the resulting image. This
|
||||
option works if use_blockstorage_volume is true.
|
||||
|
||||
- `image_tags` ([]string) - List of tags to add to the image after
|
||||
creation.
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<!-- Code generated from the comments of the ImageConfig struct in builder/openstack/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_name` (string) - The name of the resulting image.
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<!-- Code generated from the comments of the ImageFilter struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `filters` (ImageFilterOptions) - filters used to select a source_image.
|
||||
NOTE: This will fail unless exactly one image is returned, or
|
||||
most_recent is set to true. Of the filters described in
|
||||
ImageService, the
|
||||
following are valid:
|
||||
|
||||
- `most_recent` (bool) - Selects the newest created image when true.
|
||||
This is most useful for selecting a daily distro build.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Code generated from the comments of the ImageFilterOptions struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `name` (string) - Name
|
||||
- `owner` (string) - Owner
|
||||
- `tags` ([]string) - Tags
|
||||
- `visibility` (string) - Visibility
|
||||
- `properties` (map[string]string) - Properties
|
|
@ -0,0 +1,85 @@
|
|||
<!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `availability_zone` (string) - The availability zone to launch the server
|
||||
in. If this isn't specified, the default enforced by your OpenStack cluster
|
||||
will be used. This may be required for some OpenStack clusters.
|
||||
|
||||
- `rackconnect_wait` (bool) - For rackspace, whether or not to wait for
|
||||
Rackconnect to assign the machine an IP address before connecting via SSH.
|
||||
Defaults to false.
|
||||
|
||||
- `floating_ip_network` (string) - The ID or name of an external network that
|
||||
can be used for creation of a new floating IP.
|
||||
|
||||
- `floating_ip` (string) - A specific floating IP to assign to this instance.
|
||||
|
||||
- `reuse_ips` (bool) - Whether or not to attempt to reuse existing
|
||||
unassigned floating ips in the project before allocating a new one. Note
|
||||
that it is not possible to safely do this concurrently, so if you are
|
||||
running multiple openstack builds concurrently, or if other processes are
|
||||
assigning and using floating IPs in the same openstack project while packer
|
||||
is running, you should not set this to true. Defaults to false.
|
||||
|
||||
- `security_groups` ([]string) - A list of security groups by name to
|
||||
add to this instance.
|
||||
|
||||
- `networks` ([]string) - A list of networks by UUID to attach to
|
||||
this instance.
|
||||
|
||||
- `ports` ([]string) - A list of ports by UUID to attach to this
|
||||
instance.
|
||||
|
||||
- `user_data` (string) - User data to apply when launching the instance. Note
|
||||
that you need to be careful about escaping characters due to the templates
|
||||
being JSON. It is often more convenient to use user_data_file, instead.
|
||||
Packer will not automatically wait for a user script to finish before
|
||||
shutting down the instance this must be handled in a provisioner.
|
||||
|
||||
- `user_data_file` (string) - Path to a file that will be used for the user
|
||||
data when launching the instance.
|
||||
|
||||
- `instance_name` (string) - Name that is applied to the server instance
|
||||
created by Packer. If this isn't specified, the default is same as
|
||||
image_name.
|
||||
|
||||
- `instance_metadata` (map[string]string) - Metadata that is
|
||||
applied to the server instance created by Packer. Also called server
|
||||
properties in some documentation. The strings have a max size of 255 bytes
|
||||
each.
|
||||
|
||||
- `force_delete` (bool) - Whether to force the OpenStack instance to be
|
||||
forcefully deleted. This is useful for environments that have
|
||||
reclaim / soft deletion enabled. By default this is false.
|
||||
|
||||
- `config_drive` (bool) - Whether or not nova should use ConfigDrive for
|
||||
cloud-init metadata.
|
||||
|
||||
- `floating_ip_pool` (string) - Deprecated use floating_ip_network
|
||||
instead.
|
||||
|
||||
- `use_blockstorage_volume` (bool) - Use Block Storage service volume for
|
||||
the instance root volume instead of Compute service local volume (default).
|
||||
|
||||
- `volume_name` (string) - Name of the Block Storage service volume. If this
|
||||
isn't specified, random string will be used.
|
||||
|
||||
- `volume_type` (string) - Type of the Block Storage service volume. If this
|
||||
isn't specified, the default enforced by your OpenStack cluster will be
|
||||
used.
|
||||
|
||||
- `volume_size` (int) - Size of the Block Storage service volume in GB. If
|
||||
this isn't specified, it is set to source image min disk value (if set) or
|
||||
calculated from the source image bytes size. Note that in some cases this
|
||||
needs to be specified, if use_blockstorage_volume is true.
|
||||
|
||||
- `volume_availability_zone` (string) - Availability zone of the Block
|
||||
Storage service volume. If omitted, Compute instance availability zone will
|
||||
be used. If both of Compute instance and Block Storage volume availability
|
||||
zones aren't specified, the default enforced by your OpenStack cluster will
|
||||
be used.
|
||||
|
||||
- `openstack_provider` (string) - Not really used, but here for BC
|
||||
|
||||
- `use_floating_ip` (bool) - Deprecated use floating_ip or
|
||||
floating_ip_pool instead.
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!-- Code generated from the comments of the RunConfig struct in builder/openstack/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_image` (string) - The ID or full URL to the base image to use. This
|
||||
is the image that will be used to launch a new server and provision it.
|
||||
Unless you specify completely custom SSH settings, the source image must
|
||||
have cloud-init installed so that the keypair gets assigned properly.
|
||||
|
||||
- `source_image_name` (string) - The name of the base image to use. This is
|
||||
an alternative way of providing source_image and only either of them can
|
||||
be specified.
|
||||
|
||||
- `source_image_filter` (ImageFilter) - The search filters for determining the base
|
||||
image to use. This is an alternative way of providing source_image and
|
||||
only one of these methods can be used. source_image will override the
|
||||
filters.
|
||||
|
||||
- `flavor` (string) - The ID, name, or full URL for the desired flavor for
|
||||
the server to be created.
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
<!-- Code generated from the comments of the HWConfig struct in builder/parallels/common/hw_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `cpus` (int) - The number of cpus to use for building the VM.
|
||||
Defaults to 1.
|
||||
|
||||
- `memory` (int) - The amount of memory to use for building the VM in
|
||||
megabytes. Defaults to 512 megabytes.
|
||||
|
||||
- `sound` (bool) - Specifies whether to enable the sound device when
|
||||
building the VM. Defaults to false.
|
||||
|
||||
- `usb` (bool) - Specifies whether to enable the USB bus when building
|
||||
the VM. Defaults to false.
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<!-- Code generated from the comments of the OutputConfig struct in builder/parallels/common/output_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `output_directory` (string) - This is the path to the directory where the
|
||||
resulting virtual machine will be created. This may be relative or absolute.
|
||||
If relative, the path is relative to the working directory when packer
|
||||
is executed. This directory must not exist or be empty prior to running
|
||||
the builder. By default this is "output-BUILDNAME" where "BUILDNAME" is the
|
||||
name of the build.
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
<!-- Code generated from the comments of the PrlctlConfig struct in builder/parallels/common/prlctl_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `prlctl` ([][]string) - Custom prlctl commands to execute
|
||||
in order to further customize the virtual machine being created. The value
|
||||
of this is an array of commands to execute. The commands are executed in the
|
||||
order defined in the template. For each command, the command is defined
|
||||
itself as an array of strings, where each string represents a single
|
||||
argument on the command-line to prlctl (but excluding prlctl itself).
|
||||
Each arg is treated as a configuration
|
||||
template, where the Name
|
||||
variable is replaced with the VM name. More details on how to use prlctl
|
||||
are below.
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<!-- Code generated from the comments of the PrlctlPostConfig struct in builder/parallels/common/prlctl_post_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `prlctl_post` ([][]string) - Identical to prlctl, except
|
||||
that it is run after the virtual machine is shutdown, and before the virtual
|
||||
machine is exported.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<!-- Code generated from the comments of the PrlctlVersionConfig struct in builder/parallels/common/prlctl_version_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `prlctl_version_file` (string) - The path within the virtual machine to
|
||||
upload a file that contains the prlctl version that was used to create
|
||||
the machine. This information can be useful for provisioning. By default
|
||||
this is ".prlctl_version", which will generally upload it into the
|
||||
home directory.
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<!-- Code generated from the comments of the ShutdownConfig struct in builder/parallels/common/shutdown_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `shutdown_command` (string) - The command to use to gracefully shut down the
|
||||
machine once all the provisioning is done. By default this is an empty
|
||||
string, which tells Packer to just forcefully shut down the machine.
|
||||
|
||||
- `shutdown_timeout` (string) - The amount of time to wait after executing the
|
||||
shutdown_command for the virtual machine to actually shut down. If it
|
||||
doesn't shut down in this time, it is an error. By default, the timeout is
|
||||
"5m", or five minutes.
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `parallels_tools_guest_path` (string) - The path in the virtual machine to
|
||||
upload Parallels Tools. This only takes effect if parallels_tools_mode
|
||||
is "upload". This is a configuration
|
||||
template that has a single
|
||||
valid variable: Flavor, which will be the value of
|
||||
parallels_tools_flavor. By default this is "prl-tools-{{.Flavor}}.iso"
|
||||
which should upload into the login directory of the user.
|
||||
|
||||
- `parallels_tools_mode` (string) - The method by which Parallels Tools are
|
||||
made available to the guest for installation. Valid options are "upload",
|
||||
"attach", or "disable". If the mode is "attach" the Parallels Tools ISO will
|
||||
be attached as a CD device to the virtual machine. If the mode is "upload"
|
||||
the Parallels Tools ISO will be uploaded to the path specified by
|
||||
parallels_tools_guest_path. The default value is "upload".
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Code generated from the comments of the ToolsConfig struct in builder/parallels/common/tools_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `parallels_tools_flavor` (string) - The flavor of the Parallels Tools ISO to
|
||||
install into the VM. Valid values are "win", "lin", "mac", "os2"
|
||||
and "other". This can be omitted only if parallels_tools_mode
|
||||
is "disable".
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/parallels/iso/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `disk_size` (uint) - The size, in megabytes, of the hard disk to create
|
||||
for the VM. By default, this is 40000 (about 40 GB).
|
||||
|
||||
- `disk_type` (string) - The type for image file based virtual disk drives,
|
||||
defaults to expand. Valid options are expand (expanding disk) that the
|
||||
image file is small initially and grows in size as you add data to it, and
|
||||
plain (plain disk) that the image file has a fixed size from the moment it
|
||||
is created (i.e the space is allocated for the full drive). Plain disks
|
||||
perform faster than expanding disks. skip_compaction will be set to true
|
||||
automatically for plain disks.
|
||||
|
||||
- `guest_os_type` (string) - The guest OS type being installed. By default
|
||||
this is "other", but you can get dramatic performance improvements by
|
||||
setting this to the proper value. To view all available values for this run
|
||||
prlctl create x --distribution list. Setting the correct value hints to
|
||||
Parallels Desktop how to optimize the virtual hardware to work best with
|
||||
that operating system.
|
||||
|
||||
- `hard_drive_interface` (string) - The type of controller that the hard
|
||||
drives are attached to, defaults to "sata". Valid options are "sata", "ide",
|
||||
and "scsi".
|
||||
|
||||
- `host_interfaces` ([]string) - A list of which interfaces on the
|
||||
host should be searched for a IP address. The first IP address found on one
|
||||
of these will be used as {{ .HTTPIP }} in the boot_command. Defaults to
|
||||
["en0", "en1", "en2", "en3", "en4", "en5", "en6", "en7", "en8", "en9",
|
||||
"ppp0", "ppp1", "ppp2"].
|
||||
|
||||
- `skip_compaction` (bool) - Virtual disk image is compacted at the end of
|
||||
the build process using prl_disk_tool utility (except for the case that
|
||||
disk_type is set to plain). In certain rare cases, this might corrupt
|
||||
the resulting disk image. If you find this to be the case, you can disable
|
||||
compaction using this configuration value.
|
||||
|
||||
- `vm_name` (string) - This is the name of the PVM directory for the new
|
||||
virtual machine, without the file extension. By default this is
|
||||
"packer-BUILDNAME", where "BUILDNAME" is the name of the build.
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `skip_compaction` (bool) - Virtual disk image is compacted at the end of
|
||||
the build process using prl_disk_tool utility (except for the case that
|
||||
disk_type is set to plain). In certain rare cases, this might corrupt
|
||||
the resulting disk image. If you find this to be the case, you can disable
|
||||
compaction using this configuration value.
|
||||
|
||||
- `vm_name` (string) - This is the name of the PVM directory for the new
|
||||
virtual machine, without the file extension. By default this is
|
||||
"packer-BUILDNAME", where "BUILDNAME" is the name of the build.
|
||||
|
||||
- `reassign_mac` (bool) - If this is "false" the MAC address of the first
|
||||
NIC will reused when imported else a new MAC address will be generated
|
||||
by Parallels. Defaults to "false".
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/parallels/pvm/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_path` (string) - The path to a PVM directory that acts as the source
|
||||
of this build.
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/qemu/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `iso_skip_cache` (bool) - Use iso from provided url. Qemu must support
|
||||
curl block device. This defaults to false.
|
||||
|
||||
- `accelerator` (string) - The accelerator type to use when running the VM.
|
||||
This may be none, kvm, tcg, hax, hvf, whpx, or xen. The appropriate
|
||||
software must have already been installed on your build machine to use the
|
||||
accelerator you specified. When no accelerator is specified, Packer will try
|
||||
to use kvm if it is available but will default to tcg otherwise.
|
||||
|
||||
- `cpus` (int) - The number of cpus to use when building the VM.
|
||||
The default is 1 CPU.
|
||||
|
||||
- `disk_interface` (string) - The interface to use for the disk. Allowed
|
||||
values include any of ide, scsi, virtio or virtio-scsi*. Note
|
||||
also that any boot commands or kickstart type scripts must have proper
|
||||
adjustments for resulting device names. The Qemu builder uses virtio by
|
||||
default.
|
||||
|
||||
- `disk_size` (uint) - The size, in megabytes, of the hard disk to create
|
||||
for the VM. By default, this is 40960 (40 GB).
|
||||
|
||||
- `disk_cache` (string) - The cache mode to use for disk. Allowed values
|
||||
include any of writethrough, writeback, none, unsafe
|
||||
or directsync. By default, this is set to writeback.
|
||||
|
||||
- `disk_discard` (string) - The discard mode to use for disk. Allowed values
|
||||
include any of unmap or ignore. By default, this is set to ignore.
|
||||
|
||||
- `disk_detect_zeroes` (string) - The detect-zeroes mode to use for disk.
|
||||
Allowed values include any of unmap, on or off. Defaults to off.
|
||||
When the value is "off" we don't set the flag in the qemu command, so that
|
||||
Packer still works with old versions of QEMU that don't have this option.
|
||||
|
||||
- `skip_compaction` (bool) - Packer compacts the QCOW2 image using
|
||||
qemu-img convert. Set this option to true to disable compacting.
|
||||
Defaults to false.
|
||||
|
||||
- `disk_compression` (bool) - Apply compression to the QCOW2 disk file
|
||||
using qemu-img convert. Defaults to false.
|
||||
|
||||
- `format` (string) - Either qcow2 or raw, this specifies the output
|
||||
format of the virtual machine image. This defaults to qcow2.
|
||||
|
||||
- `headless` (bool) - Packer defaults to building QEMU virtual machines by
|
||||
launching a GUI that shows the console of the machine being built. When this
|
||||
value is set to true, the machine will start without a console.
|
||||
|
||||
- `disk_image` (bool) - Packer defaults to building from an ISO file, this
|
||||
parameter controls whether the ISO URL supplied is actually a bootable
|
||||
QEMU image. When this value is set to true, the machine will either clone
|
||||
the source or use it as a backing file (if use_backing_file is true);
|
||||
then, it will resize the image according to disk_size and boot it.
|
||||
|
||||
- `use_backing_file` (bool) - Only applicable when disk_image is true
|
||||
and format is qcow2, set this option to true to create a new QCOW2
|
||||
file that uses the file located at iso_url as a backing file. The new file
|
||||
will only contain blocks that have changed compared to the backing file, so
|
||||
enabling this option can significantly reduce disk usage.
|
||||
|
||||
- `machine_type` (string) - The type of machine emulation to use. Run your
|
||||
qemu binary with the flags -machine help to list available types for
|
||||
your system. This defaults to pc.
|
||||
|
||||
- `memory` (int) - The amount of memory to use when building the VM
|
||||
in megabytes. This defaults to 512 megabytes.
|
||||
|
||||
- `net_device` (string) - The driver to use for the network interface. Allowed
|
||||
values ne2k_pci, i82551, i82557b, i82559er, rtl8139, e1000,
|
||||
pcnet, virtio, virtio-net, virtio-net-pci, usb-net, i82559a,
|
||||
i82559b, i82559c, i82550, i82562, i82557a, i82557c, i82801,
|
||||
vmxnet3, i82558a or i82558b. The Qemu builder uses virtio-net by
|
||||
default.
|
||||
|
||||
- `output_directory` (string) - This is the path to the directory where the
|
||||
resulting virtual machine will be created. This may be relative or absolute.
|
||||
If relative, the path is relative to the working directory when packer
|
||||
is executed. This directory must not exist or be empty prior to running
|
||||
the builder. By default this is output-BUILDNAME where "BUILDNAME" is the
|
||||
name of the build.
|
||||
|
||||
- `qemuargs` ([][]string) - Allows complete control over the
|
||||
qemu command line (though not, at this time, qemu-img). Each array of
|
||||
strings makes up a command line switch that overrides matching default
|
||||
switch/value pairs. Any value specified as an empty string is ignored. All
|
||||
values after the switch are concatenated with no separator.
|
||||
|
||||
- `qemu_binary` (string) - The name of the Qemu binary to look for. This
|
||||
defaults to qemu-system-x86_64, but may need to be changed for
|
||||
some platforms. For example qemu-kvm, or qemu-system-i386 may be a
|
||||
better choice for some systems.
|
||||
|
||||
- `shutdown_command` (string) - The command to use to gracefully shut down the
|
||||
machine once all the provisioning is done. By default this is an empty
|
||||
string, which tells Packer to just forcefully shut down the machine unless a
|
||||
shutdown command takes place inside script so this may safely be omitted. It
|
||||
is important to add a shutdown_command. By default Packer halts the virtual
|
||||
machine and the file system may not be sync'd. Thus, changes made in a
|
||||
provisioner might not be saved. If one or more scripts require a reboot it is
|
||||
suggested to leave this blank since reboots may fail and specify the final
|
||||
shutdown command in your last script.
|
||||
|
||||
- `ssh_host_port_min` (int) - The minimum and
|
||||
maximum port to use for the SSH port on the host machine which is forwarded
|
||||
to the SSH port on the guest machine. Because Packer often runs in parallel,
|
||||
Packer will choose a randomly available port in this range to use as the
|
||||
host port. By default this is 2222 to 4444.
|
||||
|
||||
- `ssh_host_port_max` (int) - SSH Host Port Max
|
||||
- `use_default_display` (bool) - If true, do not pass a -display option
|
||||
to qemu, allowing it to choose the default. This may be needed when running
|
||||
under macOS, and getting errors about sdl not being available.
|
||||
|
||||
- `vnc_bind_address` (string) - The IP address that should be
|
||||
binded to for VNC. By default packer will use 127.0.0.1 for this. If you
|
||||
wish to bind to all interfaces use 0.0.0.0.
|
||||
|
||||
- `vnc_port_min` (int) - The minimum and maximum port
|
||||
to use for VNC access to the virtual machine. The builder uses VNC to type
|
||||
the initial boot_command. Because Packer generally runs in parallel,
|
||||
Packer uses a randomly chosen port in this range that appears available. By
|
||||
default this is 5900 to 6000. The minimum and maximum ports are inclusive.
|
||||
|
||||
- `vnc_port_max` (int) - VNC Port Max
|
||||
- `vm_name` (string) - This is the name of the image (QCOW2 or IMG) file for
|
||||
the new virtual machine. By default this is packer-BUILDNAME, where
|
||||
"BUILDNAME" is the name of the build. Currently, no file extension will be
|
||||
used unless it is specified in this option.
|
||||
|
||||
- `ssh_wait_timeout` (time.Duration) - These are deprecated, but we keep them around for BC
|
||||
TODO(@mitchellh): remove
|
||||
|
||||
- `run_once` (bool) - TODO(mitchellh): deprecate
|
||||
|
||||
- `shutdown_timeout` (string) - The amount of time to wait after executing the
|
||||
shutdown_command for the virtual machine to actually shut down. If it
|
||||
doesn't shut down in this time, it is an error. By default, the timeout is
|
||||
5m or five minutes.
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/scaleway/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `snapshot_name` (string) - The name of the resulting snapshot that will
|
||||
appear in your account. Default packer-TIMESTAMP
|
||||
|
||||
- `image_name` (string) - The name of the resulting image that will appear in
|
||||
your account. Default packer-TIMESTAMP
|
||||
|
||||
- `server_name` (string) - The name assigned to the server. Default
|
||||
packer-UUID
|
||||
|
||||
- `bootscript` (string) - The id of an existing bootscript to use when
|
||||
booting the server.
|
||||
|
||||
- `boottype` (string) - The type of boot, can be either local or
|
||||
bootscript, Default bootscript
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/scaleway/config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `api_token` (string) - The token to use to authenticate with your account.
|
||||
It can also be specified via environment variable SCALEWAY_API_TOKEN. You
|
||||
can see and generate tokens in the "Credentials"
|
||||
section of the control panel.
|
||||
|
||||
- `organization_id` (string) - The organization id to use to identify your
|
||||
organization. It can also be specified via environment variable
|
||||
SCALEWAY_ORGANIZATION. Your organization id is available in the
|
||||
"Account" section of the
|
||||
control panel.
|
||||
Previously named: api_access_key with environment variable: SCALEWAY_API_ACCESS_KEY
|
||||
|
||||
- `region` (string) - The name of the region to launch the server in (par1
|
||||
or ams1). Consequently, this is the region where the snapshot will be
|
||||
available.
|
||||
|
||||
- `image` (string) - The UUID of the base image to use. This is the image
|
||||
that will be used to launch a new server and provision it. See
|
||||
the images list
|
||||
get the complete list of the accepted image UUID.
|
||||
|
||||
- `commercial_type` (string) - The name of the server commercial type:
|
||||
ARM64-128GB, ARM64-16GB, ARM64-2GB, ARM64-32GB, ARM64-4GB,
|
||||
ARM64-64GB, ARM64-8GB, C1, C2L, C2M, C2S, START1-L,
|
||||
START1-M, START1-S, START1-XS, X64-120GB, X64-15GB, X64-30GB,
|
||||
X64-60GB
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<!-- Code generated from the comments of the TencentCloudAccessConfig struct in builder/tencentcloud/cvm/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `skip_region_validation` (bool) - Do not check region and zone when validate.
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
<!-- Code generated from the comments of the TencentCloudAccessConfig struct in builder/tencentcloud/cvm/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `secret_id` (string) - Tencentcloud secret id. You should set it directly,
|
||||
or set the TENCENTCLOUD_ACCESS_KEY environment variable.
|
||||
|
||||
- `secret_key` (string) - Tencentcloud secret key. You should set it directly,
|
||||
or set the TENCENTCLOUD_SECRET_KEY environment variable.
|
||||
|
||||
- `region` (string) - The region where your cvm will be launch. You should
|
||||
reference Region and Zone
|
||||
for parameter taking.
|
||||
|
||||
- `zone` (string) - The zone where your cvm will be launch. You should
|
||||
reference Region and Zone
|
||||
for parameter taking.
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
<!-- Code generated from the comments of the TencentCloudImageConfig struct in builder/tencentcloud/cvm/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_description` (string) - Image description.
|
||||
|
||||
- `reboot` (bool) - Whether shutdown cvm to create Image. Default value is
|
||||
false.
|
||||
|
||||
- `force_poweroff` (bool) - Whether to force power off cvm when create image.
|
||||
Default value is false.
|
||||
|
||||
- `sysprep` (bool) - Whether enable Sysprep during creating windows image.
|
||||
|
||||
- `image_force_delete` (bool) - Image Force Delete
|
||||
- `image_copy_regions` ([]string) - regions that will be copied to after
|
||||
your image created.
|
||||
|
||||
- `image_share_accounts` ([]string) - accounts that will be shared to
|
||||
after your image created.
|
||||
|
||||
- `skip_region_validation` (bool) - Do not check region and zone when validate.
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
<!-- Code generated from the comments of the TencentCloudImageConfig struct in builder/tencentcloud/cvm/image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_name` (string) - The name you want to create your customize image,
|
||||
it should be composed of no more than 20 characters, of letters, numbers
|
||||
or minus sign.
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<!-- Code generated from the comments of the TencentCloudRunConfig struct in builder/tencentcloud/cvm/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `associate_public_ip_address` (bool) - Whether allocate public ip to your cvm.
|
||||
Default value is false.
|
||||
|
||||
- `instance_name` (string) - Instance name.
|
||||
|
||||
- `disk_type` (string) - Root disk type your cvm will be launched by. you could
|
||||
reference Disk Type
|
||||
for parameter taking.
|
||||
|
||||
- `disk_size` (int64) - Root disk size your cvm will be launched by. values range(in GB):
|
||||
|
||||
- `vpc_id` (string) - Specify vpc your cvm will be launched by.
|
||||
|
||||
- `vpc_name` (string) - Specify vpc name you will create. if vpc_id is not set, packer will
|
||||
create a vpc for you named this parameter.
|
||||
|
||||
- `vpc_ip` (string) - Vpc Ip
|
||||
- `subnet_id` (string) - Specify subnet your cvm will be launched by.
|
||||
|
||||
- `subnet_name` (string) - Specify subnet name you will create. if subnet_id is not set, packer will
|
||||
create a subnet for you named this parameter.
|
||||
|
||||
- `cidr_block` (string) - Specify cider block of the vpc you will create if vpc_id not set
|
||||
|
||||
- `subnect_cidr_block` (string) - Specify cider block of the subnet you will create if
|
||||
subnet_id not set
|
||||
|
||||
- `internet_charge_type` (string) - Internet Charge Type
|
||||
- `internet_max_bandwidth_out` (int64) - Max bandwidth out your cvm will be launched by(in MB).
|
||||
values can be set between 1 ~ 100.
|
||||
|
||||
- `security_group_id` (string) - Specify security group your cvm will be launched by.
|
||||
|
||||
- `security_group_name` (string) - Specify security name you will create if security_group_id not set.
|
||||
|
||||
- `user_data` (string) - userdata.
|
||||
|
||||
- `user_data_file` (string) - userdata file.
|
||||
|
||||
- `host_name` (string) - host name.
|
||||
|
||||
- `ssh_private_ip` (bool) - SSH Private Ip
|
|
@ -0,0 +1,9 @@
|
|||
<!-- Code generated from the comments of the TencentCloudRunConfig struct in builder/tencentcloud/cvm/run_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_image_id` (string) - The base image id of Image you want to create
|
||||
your customized image from.
|
||||
|
||||
- `instance_type` (string) - The instance type your cvm will be launched by.
|
||||
You should reference Instace Type
|
||||
for parameter taking.
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
<!-- Code generated from the comments of the AccessConfig struct in builder/triton/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `triton_url` (string) - The URL of the Triton cloud API to use. If omitted
|
||||
it will default to the us-sw-1 region of the Joyent Public cloud. If you
|
||||
are using your own private Triton installation you will have to supply the
|
||||
URL of the cloud API of your own Triton installation.
|
||||
|
||||
- `triton_user` (string) - The username of a user who has access to your
|
||||
Triton account.
|
||||
|
||||
- `triton_key_material` (string) - Path to the file in which the private key
|
||||
of triton_key_id is stored. For example /home/soandso/.ssh/id_rsa. If
|
||||
this is not specified, the SSH agent is used to sign requests with the
|
||||
triton_key_id specified.
|
||||
|
||||
- `insecure_skip_tls_verify` (bool) - secure_skip_tls_verify - (bool) This allows skipping TLS verification
|
||||
of the Triton endpoint. It is useful when connecting to a temporary Triton
|
||||
installation such as Cloud-On-A-Laptop which does not generally use a
|
||||
certificate signed by a trusted root CA. The default is false.
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
<!-- Code generated from the comments of the AccessConfig struct in builder/triton/access_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `triton_account` (string) - The username of the Triton account to use when
|
||||
using the Triton Cloud API.
|
||||
|
||||
- `triton_key_id` (string) - The fingerprint of the public key of the SSH key
|
||||
pair to use for authentication with the Triton Cloud API. If
|
||||
triton_key_material is not set, it is assumed that the SSH agent has the
|
||||
private key corresponding to this key ID loaded.
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
<!-- Code generated from the comments of the MachineImageFilter struct in builder/triton/source_machine_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `most_recent` (bool) - Most Recent
|
|
@ -0,0 +1,39 @@
|
|||
<!-- Code generated from the comments of the SourceMachineConfig struct in builder/triton/source_machine_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_machine_name` (string) - Name of the VM used for building the
|
||||
image. Does not affect (and does not have to be the same) as the name for a
|
||||
VM instance running this image. Maximum 512 characters but should in
|
||||
practice be much shorter (think between 5 and 20 characters). For example
|
||||
mysql-64-server-image-builder. When omitted defaults to
|
||||
packer-builder-[image_name].
|
||||
|
||||
- `source_machine_networks` ([]string) - The UUID's of Triton
|
||||
networks added to the source machine used for creating the image. For
|
||||
example if any of the provisioners which are run need Internet access you
|
||||
will need to add the UUID's of the appropriate networks here. If this is
|
||||
not specified, instances will be placed into the default Triton public and
|
||||
internal networks.
|
||||
|
||||
- `source_machine_metadata` (map[string]string) - Triton metadata
|
||||
applied to the VM used to create the image. Metadata can be used to pass
|
||||
configuration information to the VM without the need for networking. See
|
||||
Using the metadata
|
||||
API in the
|
||||
Joyent documentation for more information. This can for example be used to
|
||||
set the user-script metadata key to have Triton start a user supplied
|
||||
script after the VM has booted.
|
||||
|
||||
- `source_machine_tags` (map[string]string) - Tags applied to the
|
||||
VM used to create the image.
|
||||
|
||||
- `source_machine_firewall_enabled` (bool) - Whether or not the firewall
|
||||
of the VM used to create an image of is enabled. The Triton firewall only
|
||||
filters inbound traffic to the VM. All outbound traffic is always allowed.
|
||||
Currently this builder does not provide an interface to add specific
|
||||
firewall rules. Unless you have a global rule defined in Triton which
|
||||
allows SSH traffic enabling the firewall will interfere with the SSH
|
||||
provisioner. The default is false.
|
||||
|
||||
- `source_machine_image_filter` (MachineImageFilter) - Filters used to populate the
|
||||
source_machine_image field. Example:
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
<!-- Code generated from the comments of the SourceMachineConfig struct in builder/triton/source_machine_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_machine_package` (string) - The Triton package to use while
|
||||
building the image. Does not affect (and does not have to be the same) as
|
||||
the package which will be used for a VM instance running this image. On the
|
||||
Joyent public cloud this could for example be g3-standard-0.5-smartos.
|
||||
|
||||
- `source_machine_image` (string) - The UUID of the image to base the new
|
||||
image on. Triton supports multiple types of images, called 'brands' in
|
||||
Triton / Joyent lingo, for contains and VM's. See the chapter Containers
|
||||
and virtual machines in
|
||||
the Joyent Triton documentation for detailed information. The following
|
||||
brands are currently supported by this builder:joyent andkvm. The
|
||||
choice of base image automatically decides the brand. On the Joyent public
|
||||
cloud a valid source_machine_image could for example be
|
||||
70e3ae72-96b6-11e6-9056-9737fd4d0764 for version 16.3.1 of the 64bit
|
||||
SmartOS base image (a 'joyent' brand image). source_machine_image_filter
|
||||
can be used to populate this UUID.
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
<!-- Code generated from the comments of the TargetImageConfig struct in builder/triton/target_image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_description` (string) - Description of the image. Maximum 512
|
||||
characters.
|
||||
|
||||
- `image_homepage` (string) - URL of the homepage where users can find
|
||||
information about the image. Maximum 128 characters.
|
||||
|
||||
- `image_eula_url` (string) - URL of the End User License Agreement (EULA)
|
||||
for the image. Maximum 128 characters.
|
||||
|
||||
- `image_acls` ([]string) - The UUID's of the users which will have
|
||||
access to this image. When omitted only the owner (the Triton user whose
|
||||
credentials are used) will have access to the image.
|
||||
|
||||
- `image_tags` (map[string]string) - Tag applied to the image.
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
<!-- Code generated from the comments of the TargetImageConfig struct in builder/triton/target_image_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `image_name` (string) - The name the finished image in Triton will be
|
||||
assigned. Maximum 512 characters but should in practice be much shorter
|
||||
(think between 5 and 20 characters). For example postgresql-95-server for
|
||||
an image used as a PostgreSQL 9.5 server.
|
||||
|
||||
- `image_version` (string) - The version string for this image. Maximum 128
|
||||
characters. Any string will do but a format of Major.Minor.Patch is
|
||||
strongly advised by Joyent. See Semantic Versioning
|
||||
for more information on the Major.Minor.Patch versioning format.
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/vagrant/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `output_dir` (string) - The directory to create that will contain your output box. We always
|
||||
create this directory and run from inside of it to prevent Vagrant init
|
||||
collisions. If unset, it will be set to packer- plus your buildname.
|
||||
|
||||
- `checksum` (string) - The checksum for the .box file. The type of the checksum is specified
|
||||
with checksum_type, documented below.
|
||||
|
||||
- `checksum_type` (string) - The type of the checksum specified in checksum. Valid values are none,
|
||||
md5, sha1, sha256, or sha512. Although the checksum will not be verified
|
||||
when checksum_type is set to "none", this is not recommended since OVA
|
||||
files can be very large and corruption does happen from time to time.
|
||||
|
||||
- `box_name` (string) - if your source_box is a boxfile that we need to add to Vagrant, this is
|
||||
the name to give it. If left blank, will default to "packer_" plus your
|
||||
buildname.
|
||||
|
||||
- `provider` (string) - The vagrant provider.
|
||||
This parameter is required when source_path have more than one provider,
|
||||
or when using vagrant-cloud post-processor. Defaults to unset.
|
||||
|
||||
- `communicator` (string) - Communicator
|
||||
- `vagrantfile_template` (string) - What vagrantfile to use
|
||||
|
||||
- `teardown_method` (string) - Whether to halt, suspend, or destroy the box when the build has
|
||||
completed. Defaults to "halt"
|
||||
|
||||
- `box_version` (string) - What box version to use when initializing Vagrant.
|
||||
|
||||
- `template` (string) - a path to a golang template for a vagrantfile. Our default template can
|
||||
be found here. So far the only template variables available to you are
|
||||
{{ .BoxName }} and {{ .SyncedFolder }}, which correspond to the Packer
|
||||
options box_name and synced_folder.
|
||||
|
||||
- `synced_folder` (string) - Synced Folder
|
||||
- `skip_add` (bool) - Don't call "vagrant add" to add the box to your local environment; this
|
||||
is necessary if you want to launch a box that is already added to your
|
||||
vagrant environment.
|
||||
|
||||
- `add_cacert` (string) - Equivalent to setting the
|
||||
--cacert
|
||||
option in vagrant add; defaults to unset.
|
||||
|
||||
- `add_capath` (string) - Equivalent to setting the
|
||||
--capath option
|
||||
in vagrant add; defaults to unset.
|
||||
|
||||
- `add_cert` (string) - Equivalent to setting the
|
||||
--cert option in
|
||||
vagrant add; defaults to unset.
|
||||
|
||||
- `add_clean` (bool) - Equivalent to setting the
|
||||
--clean flag in
|
||||
vagrant add; defaults to unset.
|
||||
|
||||
- `add_force` (bool) - Equivalent to setting the
|
||||
--force flag in
|
||||
vagrant add; defaults to unset.
|
||||
|
||||
- `add_insecure` (bool) - Equivalent to setting the
|
||||
--insecure flag in
|
||||
vagrant add; defaults to unset.
|
||||
|
||||
- `skip_package` (bool) - if true, Packer will not call vagrant package to
|
||||
package your base box into its own standalone .box file.
|
||||
|
||||
- `output_vagrantfile` (string) - Output Vagrantfile
|
||||
- `package_include` ([]string) - Package Include
|
|
@ -0,0 +1,17 @@
|
|||
<!-- Code generated from the comments of the Config struct in builder/vagrant/builder.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `source_path` (string) - URL of the vagrant box to use, or the name of the vagrant box.
|
||||
hashicorp/precise64, ./mylocalbox.box and https://example.com/my-box.box
|
||||
are all valid source boxes. If your source is a .box file, whether
|
||||
locally or from a URL like the latter example above, you will also need
|
||||
to provide a box_name. This option is required, unless you set
|
||||
global_id. You may only set one or the other, not both.
|
||||
|
||||
- `global_id` (string) - the global id of a Vagrant box already added to Vagrant on your system.
|
||||
You can find the global id of your Vagrant boxes using the command
|
||||
vagrant global-status; your global_id will be a 7-digit number and
|
||||
letter comination that you'll find in the leftmost column of the
|
||||
global-status output. If you choose to use global_id instead of
|
||||
source_box, Packer will skip the Vagrant initialize and add steps, and
|
||||
simply launch the box directly using the global id.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
<!-- Code generated from the comments of the ExportConfig struct in builder/virtualbox/common/export_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `format` (string) - Either ovf or ova, this specifies the output format
|
||||
of the exported virtual machine. This defaults to ovf.
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
<!-- Code generated from the comments of the ExportOpts struct in builder/virtualbox/common/export_opts.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `export_opts` ([]string) - Additional options to pass to the
|
||||
VBoxManage
|
||||
export. This
|
||||
can be useful for passing product information to include in the resulting
|
||||
appliance file. Packer JSON configuration file example:
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
<!-- Code generated from the comments of the GuestAdditionsConfig struct in builder/virtualbox/common/guest_additions_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `communicator` (string) - Communicator
|
||||
- `guest_additions_mode` (string) - The method by which guest additions are
|
||||
made available to the guest for installation. Valid options are upload,
|
||||
attach, or disable. If the mode is attach the guest additions ISO will
|
||||
be attached as a CD device to the virtual machine. If the mode is upload
|
||||
the guest additions ISO will be uploaded to the path specified by
|
||||
guest_additions_path. The default value is upload. If disable is used,
|
||||
guest additions won't be downloaded, either.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
<!-- Code generated from the comments of the HWConfig struct in builder/virtualbox/common/hw_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `cpus` (int) - The number of cpus to use for building the VM.
|
||||
Defaults to 1.
|
||||
|
||||
- `memory` (int) - The amount of memory to use for building the VM
|
||||
in megabytes. Defaults to 512 megabytes.
|
||||
|
||||
- `sound` (string) - Defaults to none. The type of audio device to use for
|
||||
sound when building the VM. Some of the options that are available are
|
||||
dsound, oss, alsa, pulse, coreaudio, null.
|
||||
|
||||
- `usb` (bool) - Specifies whether or not to enable the USB bus when
|
||||
building the VM. Defaults to false.
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
<!-- Code generated from the comments of the OutputConfig struct in builder/virtualbox/common/output_config.go; DO NOT EDIT MANUALLY -->
|
||||
|
||||
- `output_directory` (string) - This is the path to the directory where the
|
||||
resulting virtual machine will be created. This may be relative or absolute.
|
||||
If relative, the path is relative to the working directory when packer
|
||||
is executed. This directory must not exist or be empty prior to running
|
||||
the builder. By default this is output-BUILDNAME where "BUILDNAME" is the
|
||||
name of the build.
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue