From 601b833aaa0056155b596ce5bae67adad1142073 Mon Sep 17 00:00:00 2001 From: Chris Chalfant Date: Tue, 15 Mar 2016 08:01:20 -0400 Subject: [PATCH] style and documentation changes per PR review comments --- builder/amazon/ebs/step_stop_instance.go | 4 +++- website/source/docs/builders/amazon-ebs.html.md | 15 ++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/builder/amazon/ebs/step_stop_instance.go b/builder/amazon/ebs/step_stop_instance.go index 58153f8d8..a704406f8 100644 --- a/builder/amazon/ebs/step_stop_instance.go +++ b/builder/amazon/ebs/step_stop_instance.go @@ -26,7 +26,7 @@ func (s *stepStopInstance) Run(state multistep.StateBag) multistep.StepAction { var err error - if s.DisableStopInstance == false { + if !s.DisableStopInstance { // Stop the instance so we can create an AMI from it ui.Say("Stopping the source instance...") _, err = ec2conn.StopInstances(&ec2.StopInstancesInput{ @@ -38,6 +38,8 @@ func (s *stepStopInstance) Run(state multistep.StateBag) multistep.StepAction { ui.Error(err.Error()) return multistep.ActionHalt } + } else { + ui.Say("Automatic instance stop disabled. Please stop instance manually.") } // Wait for the instance to actual stop diff --git a/website/source/docs/builders/amazon-ebs.html.md b/website/source/docs/builders/amazon-ebs.html.md index 863d2791b..539e1b5b8 100644 --- a/website/source/docs/builders/amazon-ebs.html.md +++ b/website/source/docs/builders/amazon-ebs.html.md @@ -116,6 +116,19 @@ builder. - `availability_zone` (string) - Destination availability zone to launch instance in. Leave this empty to allow Amazon to auto-assign. +- `disable_stop_instance` (boolean) - 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 and will wait for you to stop it manually. You can do this + with a [windows-shell provisioner](https://www.packer.io/docs/provisioners/windows-shell.html). + + ``` {.javascript} + { + "type": "windows-shell", + "inline": ["\"c:\\Program Files\\Amazon\\Ec2ConfigService\\ec2config.exe\" -sysprep"] + }``` + - `ebs_optimized` (boolean) - Mark instance as [EBS Optimized](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSOptimized.html). Default `false`. @@ -224,7 +237,7 @@ Here is a basic example. You will need to provide access keys, and may need to c environmental variables. See the configuration reference in the section above for more information on what environmental variables Packer will look for. -Further information on locating AMI IDs and their relationship to instance types and regions can be found in the AWS EC2 Documentation [for Linux](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) or [for Windows](http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/finding-an-ami.html). +Further information on locating AMI IDs and their relationship to instance types and regions can be found in the AWS EC2 Documentation [for Linux](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/finding-an-ami.html) or [for Windows](http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/finding-an-ami.html). ## Accessing the Instance to Debug