Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Enhancement]: Add Valkey support to Elasticache resources #39641

Closed
jalaziz opened this issue Oct 9, 2024 · 10 comments · Fixed by #39745
Closed

[Enhancement]: Add Valkey support to Elasticache resources #39641

jalaziz opened this issue Oct 9, 2024 · 10 comments · Fixed by #39745
Labels
enhancement Requests to existing resources that expand the functionality or scope. service/elasticache Issues and PRs that pertain to the elasticache service.
Milestone

Comments

@jalaziz
Copy link
Contributor

jalaziz commented Oct 9, 2024

Description

AWS recently announced support for Valkey as an Elasticache engine.

Attempting to use valkey as an engine argument with the existing resources results in a validation error: expected engine to be one of ["redis"], got valkey.

Affected Resource(s) and/or Data Source(s)

  • aws_elasticache_replication_group
  • aws_elasticache_cluster
  • aws_elasticache_serverless_cache

Potential Terraform Configuration

resource "aws_elasticache_replication_group" "this" {
  engine               = "valkey"
  ...
}

References

Would you like to implement a fix?

None

@jalaziz jalaziz added the enhancement Requests to existing resources that expand the functionality or scope. label Oct 9, 2024
Copy link

github-actions bot commented Oct 9, 2024

Community Note

Voting for Prioritization

  • Please vote on this issue by adding a 👍 reaction to the original post to help the community and maintainers prioritize this request.
  • Please see our prioritization guide for information on how we prioritize.
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request.

Volunteering to Work on This Issue

  • If you are interested in working on this issue, please leave a comment.
  • If this would be your first contribution, please review the contribution guide.

@github-actions github-actions bot added service/elasticache Issues and PRs that pertain to the elasticache service. needs-triage Waiting for first response or review from a maintainer. labels Oct 9, 2024
@rtomadpg
Copy link

rtomadpg commented Oct 9, 2024

Would this be as simple adding valkey to the list of valid engine values, in: https://github.com/hashicorp/terraform-provider-aws/blob/main/internal/service/elasticache/consts.go ?

Btw the elasticache API docs have not yet been updated: https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html :

Engine
The name of the cache engine to be used for this cluster.

Valid values for this parameter are: memcached | redis

Type: String

Required: No

@jalaziz
Copy link
Contributor Author

jalaziz commented Oct 9, 2024

Would this be as simple adding valkey to the list of valid engine values, in: https://github.com/hashicorp/terraform-provider-aws/blob/main/internal/service/elasticache/consts.go ?

I think it is a bit more involved as validation also needs to be updated: https://github.com/hashicorp/terraform-provider-aws/blob/main/internal%2Fservice%2Felasticache%2Freplication_group.go#L129

Btw the elasticache API docs have not yet been updated: https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html :

Yes, the docs only seem to be partially updated.

Copy link

Warning

This issue has been closed, meaning that any additional comments are hard for our team to see. Please assume that the maintainers will not see them.

Ongoing conversations amongst community members are welcome, however, the issue will be locked after 30 days. Moving conversations to another venue, such as the AWS Provider forum, is recommended. If you have additional concerns, please open a new issue, referencing this one where needed.

1 similar comment
Copy link

Warning

This issue has been closed, meaning that any additional comments are hard for our team to see. Please assume that the maintainers will not see them.

Ongoing conversations amongst community members are welcome, however, the issue will be locked after 30 days. Moving conversations to another venue, such as the AWS Provider forum, is recommended. If you have additional concerns, please open a new issue, referencing this one where needed.

Copy link

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

@h3ct0rjs
Copy link

h3ct0rjs commented Nov 18, 2024

I have tried to use the new value in version v5.76.0 and it says :

│ Error: expected engine to be one of ["memcached" "redis"], got valkey
│
│   with module.redis.aws_elasticache_cluster.this,
│   on redis-test.tf line 16, in resource "aws_elasticache_cluster" "this":
│   16:   engine                     = "valkey"

Is this officially rolled out ?

@johndoe1505707
Copy link

@h3ct0rjs Yes, it's rolled out.

AWS API provides valkey as aws_elasticache_replication_group, not as aws_elasticache_cluster.

@ithacasnowman
Copy link

Valkey clusters can be sized below 1 GB as per this AWS blog post. However, there is no way to use the current implementation to configure a Valkey cache with less than 1 GB, as far as I can tell, because under the data_strage block, unit must be GB and maximum/minimum must be between 1 and 5,000.

@h3ct0rjs
Copy link

h3ct0rjs commented Dec 8, 2024

I was able to test this out, it looks like is available now. 😃 . Thanks for the answer @johndoe1505707

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Requests to existing resources that expand the functionality or scope. service/elasticache Issues and PRs that pertain to the elasticache service.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants