From 770f61e68292d2b7652d129635779623a6325ac0 Mon Sep 17 00:00:00 2001 From: Adrien Delorme Date: Wed, 12 Sep 2018 10:21:39 -0700 Subject: [PATCH] spot instance creation, only set blockDurationMinutes when > 0 --- builder/amazon/common/step_run_spot_instance.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/builder/amazon/common/step_run_spot_instance.go b/builder/amazon/common/step_run_spot_instance.go index ce9e79899..c70863d8e 100644 --- a/builder/amazon/common/step_run_spot_instance.go +++ b/builder/amazon/common/step_run_spot_instance.go @@ -186,12 +186,15 @@ func (s *StepRunSpotInstance) Run(ctx context.Context, state multistep.StateBag) if s.Comm.SSHKeyPairName != "" { runOpts.KeyName = &s.Comm.SSHKeyPairName } + spotInstanceInput := &ec2.RequestSpotInstancesInput{ + LaunchSpecification: runOpts, + SpotPrice: &spotPrice, + } + if s.BlockDurationMinutes != 0 { + spotInstanceInput.BlockDurationMinutes = &s.BlockDurationMinutes + } - runSpotResp, err := ec2conn.RequestSpotInstances(&ec2.RequestSpotInstancesInput{ - BlockDurationMinutes: &s.BlockDurationMinutes, - LaunchSpecification: runOpts, - SpotPrice: &spotPrice, - }) + runSpotResp, err := ec2conn.RequestSpotInstances(spotInstanceInput) if err != nil { err := fmt.Errorf("Error launching source spot instance: %s", err) state.Put("error", err)