aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap
[AWS::Kinesis::Stream] Add `EnforceConsumerDeletion` property
- 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::Stream
### Resource name
_No response_
### Description
Currently, Cannot choose "[EnforceConsumerDeletion](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteStream.html#Streams-DeleteStream-request-EnforceConsumerDeletion)" for a Kinesis stream managed. This causes issues when deleting streams with consumers, and requires manual workarounds.
```
DeleteStream can?t delete ***** because there are consumers associated with this data stream. To delete ***** anyway, set the EnforceConsumerDeletion parameter to true to force the deletion of all the consumers that are associated with it. (Service: AmazonKinesis; Status Code: 400; Error Code: ResourceInUseException; Request ID: *****)
```
It would be nice if the [AWS::Kinesis::Stream](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-kinesis-stream.html) exposed the [EnforceConsumerDeletion](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DeleteStream.html#Streams-DeleteStream-request-EnforceConsumerDeletion) parameter as a property so Cloudformation users can conveniently define so then when these resources are deleted as part of a stack operation, their delete handlers take the EnforceConsumerDeletion parameter into account.
### Other Details
_No response_
Contributor guide
Research direction
No repository file or test is named. Start by locating the AWS::Kinesis::Stream resource definition and its deletion coverage, then compare them with the linked CloudFormation and Kinesis DeleteStream documentation. Done means the resource exposes EnforceConsumerDeletion and uses it during deletion when consumers remain.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws
- Domain
- cloud
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100