Commit 0505fb4a authored by Matt Surabian's avatar Matt Surabian

Validate that instance exists and is EBS based before trying to launch it.

parent 0fdf9b09
......@@ -28,6 +28,22 @@ func (s *stepRunSourceInstance) Run(state map[string]interface{}) multistep.Step
SecurityGroups: []ec2.SecurityGroup{ec2.SecurityGroup{Id: securityGroupId}},
}
ui.Say("Validating Source AMI...")
imageResp, err := ec2conn.Images([]string{config.SourceAmi}, ec2.NewFilter())
if err != nil {
err := fmt.Errorf("There was a problem with the provided source AMI: %s", err)
state["error"] = err
ui.Error(err.Error())
return multistep.ActionHalt
}
if imageResp.Images[0].RootDeviceType != "ebs" {
err := fmt.Errorf("The provided source AMI is instance-store based. The amazon-ebs bundler can only work with EBS based AMIs.")
state["error"] = err
ui.Error(err.Error())
return multistep.ActionHalt
}
ui.Say("Launching a source AWS instance...")
runResp, err := ec2conn.RunInstances(runOpts)
if err != nil {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment