diff --git a/builder/amazon/ebsvolume/builder.go b/builder/amazon/ebsvolume/builder.go index 6ce9ae58d..01b9e3b76 100644 --- a/builder/amazon/ebsvolume/builder.go +++ b/builder/amazon/ebsvolume/builder.go @@ -57,6 +57,14 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, error) { errs = packer.MultiErrorAppend(errs, b.config.AccessConfig.Prepare(&b.config.ctx)...) errs = packer.MultiErrorAppend(errs, b.config.RunConfig.Prepare(&b.config.ctx)...) + // Warn that encrypted must be true when setting kms_key_id + for _, device := range b.config.VolumeMappings { + if device.KmsKeyId != "" && device.Encrypted == false { + errs = packer.MultiErrorAppend(errs, fmt.Errorf("The device %v, must also have `encrytped: "+ + "true` when setting a kms_key_id.", device.DeviceName)) + } + } + b.config.launchBlockDevices, err = commonBlockDevices(b.config.VolumeMappings, &b.config.ctx) if err != nil { errs = packer.MultiErrorAppend(errs, err)