hashicorp / terraform-provider-aws

The AWS Provider enables Terraform to manage AWS resources.
https://registry.terraform.io/providers/hashicorp/aws
Mozilla Public License 2.0
9.77k stars 9.12k forks source link

[Docs]: kinesis_firehose_delivery_stream #29092

Closed baolsen closed 1 year ago

baolsen commented 1 year ago

Documentation Link

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/kinesis_firehose_delivery_stream

Description

There are two minor problems I have found.

1 A delivery stream cannot be updated when enabling dynamic partitioning.

When defining a delivery stream with dynamic partitioning, you must create a new delivery stream and cannot update an existing delivery stream.

This is a known limitation within AWS. This could be highlighted in the provider documentation to simplify debugging.

The dynamic_partitioning_configuration block makes things confusing because one might assume that this can be toggled. However, changing this configuration does not destroy and recreate the stream (as would be required to effect the change that is desired).

In other words, if you want to enable dynamic partitioning configuration on an existing stream, it must first be deleted, regardless of any configuration.

2 Missing configuration block

You must include the dynamic_partitioning_configuration block otherwise the apply will fail with the error:

Error: creating Kinesis Firehose Delivery Stream: InvalidArgumentException: Dynamic Partitioning Namespaces can only be part of a prefix expression when Dynamic Partitioning is enabled.

The example given in the documentation does not include this block.

The error message therefore is a little ambiguous; it seems to indicate a problem with the prefix expression and it is not obvious that dynamic_partitioning_configuration should be specified.

References

https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html

Within "How to enable dynamic partitioning" :

You can enable dynamic partitioning only when you create a new delivery stream. You cannot enable dynamic partitioning for an existing delivery stream that does not have dynamic partitioning already enabled.

Also

Once you enable dynamic partitioning on a delivery stream, it cannot be disabled on this delivery stream.

Would you like to implement a fix?

Yes

github-actions[bot] commented 1 year ago

Community Note

Voting for Prioritization

Volunteering to Work on This Issue

github-actions[bot] commented 1 year ago

This functionality has been released in v4.55.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!

github-actions[bot] commented 1 year ago

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. If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.