aws-samples / aws-samples/sample-Elasticache-iam-authentication-python-demo-application

Add documentation and examples for ElastiCache Serverless support in IAM authentication

Open
#2 2 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.