Commit Graph

176 Commits

Author SHA1 Message Date
Matthew Hooker 50d9546658
builder/amazon: set force_deregister to true on -force 2017-03-09 14:24:49 -08:00
Rickard von Essen ba9cae5078 builder/amazon: Add SourceAMI and BuildRegion template
Added {{ .SourceAMI }} and {{ .BuildRegion }} template values availible
in `ami_description`, `run_tags`, `run_volume_tags`, `tags`, and
`snapshot_tags`.
2017-01-21 20:39:58 +01:00
Rickard von Essen c3a352955e amazon: Added snapshot_users and snapshot_groups 2016-12-04 16:03:01 +01:00
Matthew Hooker 832de2104b
Revert "Merge pull request #4230 from mitchellh/revert-4223-closes_3320"
This reverts commit bda89b0c42, reversing
changes made to f9f9d82419.
2016-11-30 13:28:34 -08:00
Matthew Hooker f5c3c25d2b Revert "Adds `force_delete_snapshot` flag" 2016-11-30 13:10:22 -08:00
Matthew Hooker f9f9d82419 Merge pull request #4223 from artburkart/closes_3320
Adds `force_delete_snapshot` flag
2016-11-30 12:53:34 -08:00
Arthur Burkart 5b59f56cdb Adds `force_delete_snapshot` flag
This PR adds the ability for Packer to clean up snapshots in addition to
deregistering AMIs at build time.

To test this, I used the following `test.json` file:

```json
{
  "builders": [
    {
      "type": "amazon-ebs",
      "region": "us-east-1",
      "source_ami": "ami-fce3c696",
      "ami_name": "packer-test",
      "instance_type": "m3.medium",
      "ssh_username": "ubuntu",
      "vpc_id": "some-vpc-id",
      "subnet_id": "some-subnet-routed-through-igw",
      "security_group_id": "some-security-group-with-port-22-access",
      "force_delete_snapshot": true
    }
  ],
  "provisioners": [
    {
      "type": "shell-local",
      "command": "echo 'hello'"
    }
  ]
}

```

I appreciate any constructive feedbakc that can be given. Cheers!
2016-11-29 23:39:36 -05:00
Rickard von Essen 99ee610afa
builder/amazon: Fix SSH Agent
Closes #4220
2016-11-29 22:33:53 +01:00
Arthur Burkart 2e65867cba Closes #3908: Adds snapshot tag overrides
This commit adds the ability to configure unique tags on snapshots
that are separate from the tags defined on the AMI. Anything applied
to the AMI will also be applied to the snapshots, but `snapshot_tags`
will override and append tags to the tags already applied to the snapshots
2016-11-15 23:16:27 -05:00
Matthew Hooker 60c459d6c8 Merge pull request #4098 from mitchellh/newsession
aws-sdk: use session.NewSession
2016-11-02 12:25:14 -07:00
Matthew Hooker 970b37077e Merge pull request #4050 from jen20/ssh-agent
builder/amazon: Allow use of local SSH Agent
2016-11-01 17:27:37 -07:00
Matthew Hooker 48bdae93d1 aws-sdk: use session.NewSession 2016-11-01 15:53:04 -07:00
Rickard von Essen d16d5d9686 Merge pull request #3817 from ChrisLundquist/dynamic-source-ami
Dynamic source ami
2016-10-25 21:24:41 +02:00
James Nugent 7425fef2c7 builder/amazon: Allow use of local SSH Agent
This commit adds an option to use the local SSH Agent to authenticate
connections to source instances started by the the EBS and Instance
Store builders.

This is of use when the source AMI _already_ has configuration for
authorized SSH keys - for example if one uses an SSH certificate
authority.

A further extension (not implemented in this commit) is to allow SSH
agent use with a pre-defined key pair, in order to allow keys with
passphrases to be used without giving the passphrase to Packer.
2016-10-23 21:43:47 -05:00
Rickard von Essen acc2689b49
builder/amazon: Allow using ssh_private_key_file and ssh_password
This adds support for using amazon-ebs/amazon-instance builder without
a keypair. If a ssh_private_key_file is supplied without a
ssh_keypair_name no temporary ssh keypair is created. If ssh_password is
used no temporary ssh keypair is created and the password is used when
trying to connect.

Closes #2301
Closes #3156
2016-10-02 22:20:36 +02:00
Chris Lundquist 9379cbc5d9 [dynamic-source-ami] support instance builder too 2016-10-01 23:01:01 +00:00
Orivej Desh 6762965696 Add -on-error command line argument to allow preserving artifacts on builder errors
Resolves #409
2016-09-16 12:15:00 +00:00
Patrick Robinson 40bd45764c Only set InstanceInititatedShutdownBehavior on ebs instances 2016-06-27 10:28:54 +10:00
Patrick Robinson a9f914ea97 Add shutdown_behaviour option
This means an instance will terminate upon shutdown.
2016-06-14 14:29:10 -07:00
Colin Hebert 48d242a8f8 Use pointers in the AWS API 2016-01-06 08:12:20 +01:00
Colin Hebert 9385a277c6 Fix API calls and remove az detection in chroot 2016-01-06 08:02:29 +01:00
Colin Hebert e4930e7b57 Merge branch 'master' into subnet_az_discovery 2016-01-06 07:43:03 +01:00
Luke Amdor 8682dec178 aws: build after upstream breaking change
see 1a69d06935
2015-10-30 13:58:56 -05:00
Adrian Bridgett 8349e22df9 Add ebs_optimized support 2015-10-06 21:36:21 +01:00
Mitchell Hashimoto 6dd36075b2 Merge pull request #2352 from mitchellh/b-amazon-bundle
builder/amazon/instance: set valid bundle prefix [GH-2328]
2015-06-29 13:59:45 -07:00
Mitchell Hashimoto 98db68e36c builder/amazon/instance: set valid bundle prefix [GH-2328] 2015-06-29 09:49:11 -07:00
Mitchell Hashimoto b315e470c8 builder/amazon: set debug flag for get password 2015-06-29 09:40:58 -07:00
Mitchell Hashimoto 84189f7a28 builder/*: properly save interpolation context 2015-06-22 09:22:42 -07:00
Mitchell Hashimoto 5c290fdbc7 builder/amazon use proper key pair name 2015-06-19 06:15:16 +02:00
Mitchell Hashimoto de2004c1c9 Merge branch 'master' of https://github.com/nyetsche/packer into nyetsche-master 2015-06-15 15:21:58 -07:00
Clint 8fca582278 Merge pull request #2221 from mitchellh/f-amazon-force-deregister-artifacts
builder/amazon: Add force_deregister option
2015-06-15 10:02:30 -05:00
Mitchell Hashimoto 101e5986dc builder/amazon: enable windows for instance type too 2015-06-14 10:50:18 -07:00
Mitchell Hashimoto 8f6ecfd9e3 builder/amazon: various fixes (minor) to get things going 2015-06-13 23:12:59 -07:00
Mitchell Hashimoto 115d583cff helper/communicator: make host more generic 2015-06-13 19:23:33 -04:00
Mitchell Hashimoto e557928119 builder/amazon: use helper/communicator 2015-06-13 18:16:12 -04:00
Clint Shryock bec59b535d builder/amazon: Add force_deregister option, to automatically deregister artifacts with name conflicts 2015-06-12 13:23:47 -05:00
Clint Shryock c9b413e3d1 builder/amazon-instance: Omit access, secrety key if using IAM Instance Profile 2015-06-10 15:18:05 -05:00
Clint Shryock 8c321138f4 Revert "Changing --region to --location"
This reverts commit f40fd36c31.

According to the documentation below, `--region` is the current flag. If you're
using an older version of the tools that use `--location`, you can customize the
commands in your Packer config with `bundle_vol_command` and `bundle_upload_command`

- http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/CLTRG-ami-upload-bundle.html
- https://www.packer.io/docs/builders/amazon-instance.html
2015-06-09 10:41:39 -05:00
Henry Huang 052b5e6699 "Name" parameter required for copying ami across regions [GH-2172] 2015-06-05 11:15:48 +00:00
Seth Vargo 33ca8b7fb5 Migrate to new AWS repo 2015-06-03 17:13:52 -04:00
Mitchell Hashimoto 8cac7e8d51 Merge pull request #1930 from bhourigan/issue1929
Prepending -i to sudo so PATH is inherited from profile.d scripts
2015-05-28 09:36:58 -07:00
Mitchell Hashimoto b78b119a11 amazon/*: fix merge issues with lib switch 2015-05-28 08:31:22 -07:00
Mitchell Hashimoto 44b980e659 Merge branch 'aws-sdk-go' of https://github.com/jen20/packer into jen20-aws-sdk-go 2015-05-28 08:24:41 -07:00
Mitchell Hashimoto 034e4e676c amazon/*: use new interpolation functions 2015-05-27 11:47:45 -07:00
James Nugent e99cd56b6c Migrate from mitchellh/goamz to awslabs/aws-sdk-go
This commit moves the Amazon builders of Packer away from the Hashicorp
fork of the goamz library to the official AWS SDK for Go, in order that
third party plugins may depend on the more complete official library
more easily.
2015-04-12 21:33:09 -04:00
Brian Hourigan a4cfd921f4 Adding missing hyphen to sudo options 2015-04-04 10:52:17 -04:00
Colin Hebert a08725f7c5 Add auto discovery of AZ based on the subnet 2015-03-01 00:00:45 +11:00
Brian Hourigan f40fd36c31 Changing --region to --location 2015-02-19 14:40:36 -05:00
Brian Hourigan 8e69403735 Prepending -i to sudo so PATH is inherited from profile.d scripts related to ec2 tooling 2015-02-19 14:32:27 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 43f08b2664 go fmt all the things 2015-01-13 22:58:41 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 9d097f9d4e Permit Temp keys and named SSH keypairs
These changes permit the use of pre-created SSH keypairs with AWS. If
so, the configuration for the builder needs to include an
ssh_keypair_name option and a ssh_private_key_file.

If ssh_private_key_file is *not* defined, it'll go through the
rigamarole of creating a temporary keypair. The ssh_keypair_name option
by itself won't make that change, because it doesn't make sense to
specify a keypair but not tell packer where the private key is, but it
does happen that you could have a private key and the public-key is
"baked in", and not part of your EC2 account.
2015-01-13 16:27:33 -05:00
Lesko, Matthew (NIH/NLM/NCBI) [C] 8c87b1cc00 First attempt for re-using a named EC2 keypair
Adds a 'ssh_keypair_name' option to the configuration
for AWS, along with some munging to create the
temporarily keypair if one isn't specific.

NOT YET WORKING.

From a 'make' I get the following errors:

builder/amazon/ebs/builder.go:94: b.config.SSHKeyPairName undefined
(type config has no field or method SSHKeyPairName)

builder/amazon/instance/builder.go:199: b.config.SSHKeyPairName
undefined (type Config has no field or method SSHKeyPairName)
2015-01-13 13:12:04 -05:00
Mitchell Hashimoto db90c16118 builder/amazon: support auto spot price discovery [GH-1465] 2014-09-06 10:44:12 -07:00
Mitchell Hashimoto 3a69b8c1b8 Merge branch 'add-spot-instance-support' of github.com:henrysher/packer into henrysher-add-spot-instance-support
Conflicts:
	builder/amazon/common/run_config.go
	builder/amazon/ebs/builder.go
	builder/amazon/instance/builder.go
2014-09-05 16:30:22 -07:00
Mitchell Hashimoto 5db91c84bf builder/amazon: string fields on device mappings can use variables 2014-09-05 12:38:19 -07:00
Mitchell Hashimoto ed377c9ff0 builder/amazon-instance: --no-filter by default [GH-1137] 2014-09-05 09:32:35 -07:00
Mitchell Hashimoto 0776d9de34 builder/amazon: ssh_private_ip [GH-1229] 2014-09-04 21:48:14 -07:00
Mitchell Hashimoto 5d1c1e6716 Merge pull request #1373 from anthonybishopric/debug_bundle_commands
builder/amazon-instance: Debug the evaluated bundle commands
2014-09-02 09:49:12 -07:00
Mitchell Hashimoto 704648896e Merge pull request #1425 from dysinger/1424-amazon-instance-s3-region-not-url
builder/amazon-instance: Use Region not S3Endpoint (see Issue 1424)
2014-09-01 21:31:36 -07:00
Ulf Mansson bebca3bfae It's not necessary to use an instance-store image to build an instance-store image, see this example http://sorcery.smugmug.com/2014/01/29/instance-store-hvm-amis-for-amazon-ec2/ so there should be no restriction on the ExpectedRootDevice 2014-08-29 09:22:27 +02:00
Tim Dysinger c79121617c Use Region not S3Endpoint 2014-08-18 08:52:31 -10:00
abishopric d62edd6c05 Print the evaluated bundle commands 2014-07-24 16:30:30 -07:00
James Massara be27ecc64b Add option to enable enhanced networking (SriovNetSupport) for images. 2014-06-04 14:58:11 -07:00
Henry Huang da29d684a8 Enable the spot_price in "amazon-instance-store" AMI 2014-05-26 23:01:49 +08:00
Florian Noeding 6371b70609 optionally use existing ssh key for amazon builders 2014-03-24 12:47:00 +01:00
Alan Grosskurth af89b31a40 builder/amazon: Fix S3 endpoint URL for instance-store builds
The S3 endpoint URLs don't always include the region name. See:

    http://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region

This mapping is already provided by `goamz` via `region.S3Endpoint`,
so let's use it.
2014-02-23 22:49:10 -08:00
Ross Timson 58444627c1 Use --url flag rather than --location for ec2-upload-bundle
AWS docs (http://goo.gl/rNZiCs) show that --location is deprecated and
to use the --url flag and reference the region endpoint instead.
2014-02-13 09:36:45 +00:00
Mitchell Hashimoto 8aabe01bad builder/amazon/common: run_tags to apply to launch [GH-722] 2013-12-27 20:54:35 -07:00
Mitchell Hashimoto f7b1c2dbc6 builder/amazon/instance: add location to upload command [GH-679] 2013-12-06 19:04:40 -08:00
Nathan Sullivan 49a131951a reverting testing stuff 2013-11-26 13:46:32 +10:00
Nathan Sullivan 0cfb7564d5 lets try a string instead of a bool for AssociatePublicIpAddress 2013-11-26 13:44:39 +10:00
Nathan Sullivan 31bf1f342c https://github.com/mitchellh/packer/issues/578 2013-11-26 11:32:08 +10:00
Mitchell Hashimoto c8e911cdc3 Merge branch 'security-groups' of https://github.com/whiteley/packer into whiteley-security-groups
Conflicts:
	builder/amazon/common/run_config.go
2013-11-05 14:34:12 -08:00
Mitchell Hashimoto 3cd7379d1f builder/amazon/*: warnings 2013-11-02 22:56:54 -05:00
Mitchell Hashimoto 7f639d89b6 builder/amazon/*,builder/openstack: properly scrub sensitive [GH-554] 2013-11-02 11:34:54 +01:00
Mitchell Hashimoto f4b404627c builder/amazon/instance: support AZ here too 2013-10-23 20:44:38 -07:00
Matthew Hooker 5315b19822 common/config: config filter function [GH-521]
Fixes #521
2013-10-13 11:01:12 -07:00
Matt Whiteley 09f4011234 builder/amazon: instances can be launched with a list of security groups 2013-10-04 10:42:45 -07:00
Jesse Nelson c7e1681163 exclude everything in /tmp, but keep /tmp itself
There is IMO a bug with image builder that it removes /tmp, in the
current setup. This patch makes the image bundle ignore everyting in
/tmp, but keeps /tmp on the box.
2013-09-18 13:42:15 -07:00
Mark Peek f941718c3e builder/amazon: add clean_ami_name template function
Add a clean_ami_name template function which will translate illegal
characters in an AMI name to '-'. Example usage would be:
    "ami_name": "Ubuntu 12.04 {{isotime | clean_ami_name}}"
2013-09-07 18:42:50 -07:00
Mitchell Hashimoto f2069c1cd6 Merge pull request #388 from jmassara/ami_region_copy
builder/amazon/all: AMI region copy fixes
2013-09-05 17:14:16 -07:00
Mitchell Hashimoto ed7e0847fd builder/amazon/all: TemporaryKeyPairName
/cc @whostolebenfrog - I actually simplified things quite a bit. I added
a "uuid" global template function so it just uses that now. I renamed it
so that it is clear it is a temporary keypair.
2013-09-05 12:23:08 -07:00
James Massara 5bca569fa4 builder/amazon: Re-ordered steps for AMI region copying so tags and
launch permissions are also applied to copied AMIs
2013-09-04 16:06:06 -07:00
Mitchell Hashimoto 0231d798e4 builder/amazon/instance: new multistep API 2013-08-31 13:03:13 -07:00
Mitchell Hashimoto 9186a7f214 builder/amazon: output DNS name if debug mode 2013-08-30 14:55:56 -07:00
Mitchell Hashimoto 57f185451a builder/amazon: drop private key if debug mode [GH-373] 2013-08-30 14:48:50 -07:00
Mitchell Hashimoto 251abc3496 builder/amazon: modify attributes before region copy
/cc @jmassara
2013-08-22 15:35:47 -07:00
Mitchell Hashimoto e7a50133b6 builder/amazon: support tags in chroot and instance 2013-08-22 15:11:54 -07:00
Mitchell Hashimoto ef142ce886 builder/amazon: region copy must go before modify attributes
/cc @jmassara - This has to go before the modify attributes so that
the attributes are properly modified on all resulting AMIs.
2013-08-22 15:03:30 -07:00
James Massara 228d0d593a amazon/common: Added AMI CopyImage support 2013-08-21 13:53:07 -07:00
Mitchell Hashimoto 64d87bfaf3 *: switch to packer ConfigTemplate 2013-08-15 19:17:23 -07:00
Mark Peek 91670cea07 builder/amazon: add block device mappings [GH-90] 2013-08-15 14:05:08 -07:00
Jeremy Carroll 0a0c0c89c6 Was missing sending IAM profile data to instance store builders. 2013-08-14 19:03:41 -07:00
Mitchell Hashimoto 09fb6ca593 builder/amazon/all: support user data file 2013-08-12 11:53:50 -07:00
Mitchell Hashimoto f69b365f39 Merge pull request #253 from phobos182/master
builder/amazon/common: added passing UserData to goamz.
2013-08-12 11:36:15 -07:00
Mitchell Hashimoto 332bdf6edc builder/*, provisioner/*: set user vars 2013-08-09 15:57:08 -07:00
Mitchell Hashimoto fd6dbc42d1 builder/amazon/common: rename StepModifyAttributes to
StepModifyAMIAttributes
2013-08-08 22:51:48 -07:00
Mitchell Hashimoto bfc2ac1eaa builder/amazon/common: AMIConfig common config
/cc @jmassara - I pulled out the AMI stuff into a common config
struct and also added in the new template stuff (that didn't exist
when you made the pull, so not your fault! :))
2013-08-08 22:50:37 -07:00
James Massara 2ba59617fc builder/amazon/all: Added support for setting attributes on the AMI 2013-08-08 22:35:21 -07:00
Mitchell Hashimoto 716d68bff3 builder/amazon: more efficient use of templates 2013-08-08 17:25:26 -07:00