aws-cloudformation / cloudformation-coverage-roadmap

The AWS CloudFormation Public Coverage Roadmap
https://aws.amazon.com/cloudformation/
Creative Commons Attribution Share Alike 4.0 International
1.11k stars 56 forks source link

[AWS::ElastiCache::UserGroup] - [BUG] - Engine cannot be set to valkey #2199

Open mazyu36 opened 3 days ago

mazyu36 commented 3 days ago

Name of the resource

AWS::ElastiCache::UserGroup

Resource Name

No response

Issue Description

In the docs description, Engine supported values are valkey and redis.

But valkey does not exist in allowed values.

I tried to deploy with engine valkey, but encountered an error.

CREATE_FAILED        | AWS::ElastiCache::UserGroup           | UserGroup (UserGroupC755C9ED) Properties validation failed for resource UserGroupC755C9ED with message:
[#/Engine: valkey is not a valid enum value]

Expected Behavior

Can deploy an UserGroup with engine valkey.

Observed Behavior

Cannot deploy an UserGroup with engine valkey.

Test Cases

Set Engine to valkey in UserGroup.

Other Details

No response

r-heimann commented 1 day ago

According to https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/Clusters.RBAC.html

Note
When using RBAC with Valkey clusters, you will still need to assign users and user groups the engine “redis”.

Doesn't really make sense why you need to choose "redis", but i don't believe this is a bug.

mazyu36 commented 1 day ago

Thank you for the comment. Previously, we could only set redis as a property, but on November 21, 2024,valkey became configurable.

Ref: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/ReleaseHistory.html

It is now actually settable for User.

For UserGroup, the description and allowed values do not match, so I have raised this issue.​​​​​​​​​​​​​​​​

r-heimann commented 1 day ago

Got it, it seems like the ElastiCache API already allows the value valkey: https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateUserGroup.html

Engine: Sets the engine listed in a user group. The options are valkey or redis.
Type: String
Pattern: [a-zA-Z]*
Required: Yes

But CloudFormation does not offer it yet :(