provider/aws: Only send iops when creating io1 devices. Fix docs (#12392)
This commit is contained in:
parent
322044695b
commit
d2f728e6cd
|
@ -1034,11 +1034,16 @@ func readBlockDeviceMappingsFromConfig(
|
||||||
|
|
||||||
if v, ok := bd["volume_type"].(string); ok && v != "" {
|
if v, ok := bd["volume_type"].(string); ok && v != "" {
|
||||||
ebs.VolumeType = aws.String(v)
|
ebs.VolumeType = aws.String(v)
|
||||||
}
|
if "io1" == strings.ToLower(v) {
|
||||||
|
// Condition: This parameter is required for requests to create io1
|
||||||
|
// volumes; it is not used in requests to create gp2, st1, sc1, or
|
||||||
|
// standard volumes.
|
||||||
|
// See: http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_EbsBlockDevice.html
|
||||||
if v, ok := bd["iops"].(int); ok && v > 0 {
|
if v, ok := bd["iops"].(int); ok && v > 0 {
|
||||||
ebs.Iops = aws.Int64(int64(v))
|
ebs.Iops = aws.Int64(int64(v))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
blockDevices = append(blockDevices, &ec2.BlockDeviceMapping{
|
blockDevices = append(blockDevices, &ec2.BlockDeviceMapping{
|
||||||
DeviceName: aws.String(bd["device_name"].(string)),
|
DeviceName: aws.String(bd["device_name"].(string)),
|
||||||
|
|
|
@ -1060,7 +1060,6 @@ resource "aws_instance" "foo" {
|
||||||
root_block_device {
|
root_block_device {
|
||||||
volume_type = "gp2"
|
volume_type = "gp2"
|
||||||
volume_size = 11
|
volume_size = 11
|
||||||
iops = 330
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
|
|
@ -102,7 +102,8 @@ The `root_block_device` mapping supports the following:
|
||||||
* `volume_size` - (Optional) The size of the volume in gigabytes.
|
* `volume_size` - (Optional) The size of the volume in gigabytes.
|
||||||
* `iops` - (Optional) The amount of provisioned
|
* `iops` - (Optional) The amount of provisioned
|
||||||
[IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html).
|
[IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-io-characteristics.html).
|
||||||
This must be set with a `volume_type` of `"io1"`.
|
This is only valid for `volume_type` of `"io1"`, and must be specified if
|
||||||
|
using that type
|
||||||
* `delete_on_termination` - (Optional) Whether the volume should be destroyed
|
* `delete_on_termination` - (Optional) Whether the volume should be destroyed
|
||||||
on instance termination (Default: `true`).
|
on instance termination (Default: `true`).
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue