Closed sgorshkov85 closed 2 months ago
Thanks for open the issue and all the work already done . I'll look into it.
This bug is fixed on version 3.4.0.
If you are using the default values, you don't need to make any changes. In the new version, if you omit the variables (transform_lambda_buffer_size, transform_lambda_buffer_interval, transform_lambda_number_retries), their default value will be null, and the module won't configure them. These variables should only be defined when using custom values. It's supported to change default values for specific parameters (as you suggested).
Thanks for this issue and for your efforts to help resolve it.
Hello @fdmsantos,
I work with your module to deploy a firehose stream with configured lambda transformation. There are a set of parameters that cannot be(at least for now). From the AWS documentation:
Parameters with default values, including NumberOfRetries(default: 3), RoleArn(default: firehose role ARN), BufferSizeInMBs(default: 1), and BufferIntervalInSeconds(default: 60), are not stored in terraform state. To prevent perpetual differences, it is therefore recommended to only include parameters with non-default values.
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kinesis_firehose_delivery_stream
In the current version v3.3.0 the module always trying to set those parameters so in the plan it will be like this:
Setting custom values(suggested here) won't fix everything if the engineer wants to use the default RoleArn.
Please add logic to make applying each parameter optional.
An easy fix that works for me: variable.tf
locals.tf
Example of the module execution:
Probably it makes sense to add more complex logic to set parameters. My approach limits configuration: