builder/amazon: Add io2 as a supported volume type
io2 volumes are new as of 2020-08-24. This adds support for specifying them in a packer template and having the iops value specified take effect.
This commit is contained in:
parent
c7ba5c9a14
commit
15f97421e2
|
@ -134,8 +134,8 @@ func (blockDevice BlockDevice) BuildEC2BlockDeviceMapping() *ec2.BlockDeviceMapp
|
||||||
ebsBlockDevice.VolumeSize = aws.Int64(blockDevice.VolumeSize)
|
ebsBlockDevice.VolumeSize = aws.Int64(blockDevice.VolumeSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
// IOPS is only valid for io1 type
|
// IOPS is only valid for io1 and io2 types
|
||||||
if blockDevice.VolumeType == "io1" {
|
if blockDevice.VolumeType == "io1" || blockDevice.VolumeType == "io2" {
|
||||||
ebsBlockDevice.Iops = aws.Int64(blockDevice.IOPS)
|
ebsBlockDevice.Iops = aws.Int64(blockDevice.IOPS)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -66,6 +66,25 @@ func TestBlockDevice(t *testing.T) {
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Config: &BlockDevice{
|
||||||
|
DeviceName: "/dev/sdb",
|
||||||
|
VolumeType: "io2",
|
||||||
|
VolumeSize: 8,
|
||||||
|
DeleteOnTermination: true,
|
||||||
|
IOPS: 1000,
|
||||||
|
},
|
||||||
|
|
||||||
|
Result: &ec2.BlockDeviceMapping{
|
||||||
|
DeviceName: aws.String("/dev/sdb"),
|
||||||
|
Ebs: &ec2.EbsBlockDevice{
|
||||||
|
VolumeType: aws.String("io2"),
|
||||||
|
VolumeSize: aws.Int64(8),
|
||||||
|
DeleteOnTermination: aws.Bool(true),
|
||||||
|
Iops: aws.Int64(1000),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Config: &BlockDevice{
|
Config: &BlockDevice{
|
||||||
DeviceName: "/dev/sdb",
|
DeviceName: "/dev/sdb",
|
||||||
|
|
Loading…
Reference in New Issue