aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap

[AWS::Kinesis::StreamConsumer] - [Enhancement] - Tags should not require Replacement

Open
#2,514 0 comments 1 reaction 0 assignees View on GitHub
bug enhancement
Dominant language
No language data
Stars
1.1k
Forks
62
PR merge metrics
No merged PRs in 30d

Description

### Name of the resource

AWS::Kinesis::StreamConsumer

### Resource name

_No response_

### Description

Currently, **CloudFormation** changes to the `Tags` property of an `AWS::Kinesis::StreamConsumer` result in `Replacement`: https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-kinesis-streamconsumer.html#aws-resource-kinesis-streamconsumer-properties
I couldn't find any source as to why that is the case. But, I assume it was probably caused by missing _APIs_ in the **Kinesis** side.

However, I checked the **Kinesis** _API_. And, at least currently, it seems modifying the `Tags` should be possible without requiring a `Replacement`; which is the standard for all other constructs: https://docs.aws.amazon.com/streams/latest/dev/tagging.html#tagging-consumers-api & https://docs.aws.amazon.com/kinesis/latest/APIReference/API_TagResource.html#API_TagResource_Examples

Thus, I am requesting **CloudFormation** to improve its `AWS::Kinesis::StreamConsumer` support and allow modifying the `Tags` property without a `Replacement` by using the `TagResource` **Kinesis** _API_ call.

### Other Details

Note: This blocked a very critical deployment, and we had to workaround the issue by hacking the `Tags` of a nested `Construct` in our **CDK** `Stack`.
Thus, while we unblocked the deployment, the resulting code is very brittle.

As such, we would like to request that this issue be handled with an appropriate level of priority, considering that the `Replacement` of infrastructure assets is a costly and dangerous operation. And that the fix feels relatively straightforward.

Thanks for your attention.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the AWS::Kinesis::StreamConsumer resource behavior for its Tags property and the referenced Kinesis TagResource API documentation. Done means changing Tags no longer causes resource replacement and uses the tagging API instead; verify the behavior through the repository's relevant coverage process.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws
Domain
cloud, infrastructure
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.