diff --git a/builder/amazon/common/step_encrypted_ami.go b/builder/amazon/common/step_encrypted_ami.go index a6e95b183..3e3b6023d 100644 --- a/builder/amazon/common/step_encrypted_ami.go +++ b/builder/amazon/common/step_encrypted_ami.go @@ -117,19 +117,17 @@ func (s *StepCreateEncryptedAMICopy) Run(state multistep.StateBag) multistep.Ste ui.Say("Deleting unencrypted snapshots") snapshots := state.Get("snapshots").(map[string][]string) +OuterLoop: for _, blockDevice := range unencImage.BlockDeviceMappings { if blockDevice.Ebs != nil && blockDevice.Ebs.SnapshotId != nil { // If this packer run didn't create it, then don't delete it - doDelete := true for _, origDevice := range s.AMIMappings { if origDevice.SnapshotId == *blockDevice.Ebs.SnapshotId { - doDelete = false + ui.Message(fmt.Sprintf("Keeping Snapshot ID: %s", *blockDevice.Ebs.SnapshotId)) + break OuterLoop } } - if doDelete == false { - ui.Message(fmt.Sprintf("Keeping Snapshot ID: %s", *blockDevice.Ebs.SnapshotId)) - continue - } + ui.Message(fmt.Sprintf("Deleting Snapshot ID: %s", *blockDevice.Ebs.SnapshotId)) deleteSnapOpts := &ec2.DeleteSnapshotInput{ SnapshotId: aws.String(*blockDevice.Ebs.SnapshotId),