aws-samples / aws-samples/sample-Elasticache-iam-authentication-python-demo-application
Add documentation and examples for ElastiCache Serverless support in IAM authentication
- Dominant language
- Python
- Stars
- 2
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
## Summary
The current README and code examples do not mention ElastiCache Serverless cache support, but the IAM authentication token generator (`iam_authtoken_generator_app.py`) works with serverless caches when using the serverless cache name as the replication group ID.
## Current State
- Documentation only mentions non-serverless ElastiCache clusters
- Code examples use replication groups
- No mention of serverless cache compatibility
## What I Tested
I successfully generated a valid IAM authentication token for an ElastiCache Serverless cache as follows:
**Environment:**
- ElastiCache engine: Valkey
- ElastiCache user name: `user-1`
- Region: `ap-northeast-1`
- Python version: `Python 3.9.24`
- valkey-cli: 8.0.6
**Steps:**
1. Created an ElastiCache Serverless for Valkey cache
2. Ran the script: python `iam_authtoken_generator_app.py`
```bash
$ TOKEN=$(python3 ./iam_authtoken_generator_app.py --user-id user-a --replication-group-id --region ap-northeast-1)
```
3. Authenticated using `valkey-cli`
```bash
$ valkey-cli -h -p 6379 --tls --user user-a --pass "$TOKEN"
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
:6379> info
# Server
redis_version:7.2
server_name:valkey
valkey_version:8.1
redis_mode:cluster
```
**Key Finding:**
The existing code (`iam_authtoken_generator_app.py`) works with serverless caches without modification - just use the serverless cache name where you would normally use a replication group ID.
## Requested Changes
1. **Update README.md** to include ElastiCache Serverless as a supported cache type
2. **Add code example** showing how to use serverless cache names
3. **Clarify parameter usage** - document that serverless cache names can be used as `replication_group_id`
4. **Add serverless-specific example** in the code or documentation
## Benefits
- Helps users understand that this tool works with both non-serverless and serverless ElastiCache
- Reduces confusion about parameter usage for serverless caches
- Makes the repository more comprehensive and up-to-date with current AWS offerings
Contributor guide
Assessment
This issue has not been assessed yet.