-
Notifications
You must be signed in to change notification settings - Fork 9.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
aws_kinesis_firehose_delivery_stream still doesn't save processors configuration properly #19936
Comments
I am also experiencing this issue. It is also present when using nested I did some investigating and found that the setting is being applied to the resource properly but the parameter is not being saved in the state file, resulting in the perpetual diff. |
We are hitting this bug now. I am pretty sure there is a bug in here where the default values are being evaluated. The logic needs to be reviewed, it doesn't seem like this will ever read the actual values from AWS. // It is necessary to explicitly filter this out
// to prevent diffs during routine use and retain the ability
// to show diffs if any field has drifted
defaultLambdaParams := map[string]string{
"NumberOfRetries": "3",
"RoleArn": roleArn,
"BufferSizeInMBs": "3",
"BufferIntervalInSeconds": "60",
}
processors := make([]interface{}, len(pc.Processors))
for i, p := range pc.Processors {
t := aws.StringValue(p.Type)
parameters := make([]interface{}, 0)
for _, params := range p.Parameters {
name := aws.StringValue(params.ParameterName)
value := aws.StringValue(params.ParameterValue)
if t == firehose.ProcessorTypeLambda {
// Ignore defaults
if v, ok := defaultLambdaParams[name]; ok && v == value {
continue
}
} |
@dkujawski the values are read from AWS, if you follow the function calls the The problem is not in removing the values if they match the defaults, the logic is correct and I assume it is necessary to do so according to the comment. Besides, that behaviour is documented in https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kinesis_firehose_delivery_stream (see the note in the The issue here is that the default value for the buffer size is assumed to be 3MB, while in reality it is 1MB. I don't know if the default value was indeed 3MB at some point in the past, but right now new delivery streams are created with 1MB by default (as documented in https://docs.aws.amazon.com/firehose/latest/dev/data-transformation.html). |
This functionality has been released in v5.32.0 of the Terraform AWS Provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. For further feature requests or bug reports with this functionality, please create a new GitHub issue following the template. Thank you! |
I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues. |
Community Note
Terraform CLI and Terraform AWS Provider Version
Terraform: 0.14.11 (doesn't matter much because this is reproduced in other versions)
AWS Provider: 3.41
Affected Resource(s)
Terraform Configuration Files
Please include all Terraform configurations required to reproduce the bug. Bug reports without a functional reproduction may be closed without investigation.
Debug Output
Panic Output
Expected Behavior
No changes in infra
Actual Behavior
Terraform adds
BufferSizeInMBs
each time.Steps to Reproduce
terraform apply
Important Factoids
References
#4392
The text was updated successfully, but these errors were encountered: