Open onlynone opened 9 months ago
Thank you very much for reporting this @onlynone , my team will have a look here as soon as we have an opportunity.
It appears there is some intentional code to do this in the upstream provider:
names.AttrIOPS: {
Type: schema.TypeInt,
Optional: true,
Computed: true,
ForceNew: true,
DiffSuppressFunc: iopsDiffSuppressFunc
},
func iopsDiffSuppressFunc(k, old, new string, d *schema.ResourceData) bool {
// Suppress diff if volume_type is not io1, io2, or gp3 and iops is unset or configured as 0
i := strings.LastIndexByte(k, '.')
vt := k[:i+1] + names.AttrVolumeType
v := d.Get(vt).(string)
return (strings.ToLower(v) != string(awstypes.VolumeTypeIo1) && strings.ToLower(v) != string(awstypes.VolumeTypeIo2) && strings.ToLower(v) != string(awstypes.VolumeTypeGp3)) && new == "0"
}
I think this code is very old and appeared in https://github.com/hashicorp/terraform-provider-aws/commit/3b9f715a3ab1e8b3af1beca4d28db33d7df4c717
We need to file an upstream provider issue and fix it in there.
What happened?
I wanted to change the throughput on an EBS volume attached to an EC2 instance from 125 MiB/s to 250 MiB/s. But after making the change in code, running
pulumi preview
shows no differences. Runningpulumi up
makes no changes, andpulumi refresh
doesn't seem to pull in any differences.Example
Code was this first:
Then was changed to:
Output of
pulumi about
Additional context
If I change the
throughput
property of therootBlockDevice
, that is updated correctly.Contributing
Vote on this issue by adding a 👍 reaction. To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).