aws-cloudformation / aws-cloudformation/cloudformation-coverage-roadmap
[AWS::MemoryDB::ParameterGroup] Parameter Group not applied on Create, but on Update
- Dominant language
- No language data
- Stars
- 1.1k
- Forks
- 62
- PR merge metrics
- No merged PRs in 30d
Description
### Name of the resource
AWS::MemoryDB::ParameterGroup
### Resource Name
_No response_
### Issue Description
When an `AWS::MemoryDB::ParameterGroup` resource is created with a `Parameters`
map, CloudFormation creates the parameter group but **does not apply the
parameter values**. The stack reports `CREATE_COMPLETE`, and no error, warning
or event indicates that the values were dropped.
The same template, applied as an **update** with a changed value, applies it
correctly.
The result is a parameter group that looks correct in the template and in the
CloudFormation console, but is empty in the MemoryDB API.
## Environment
| | |
|---|---|
| Region | `eu-west-2` |
| Resource | `AWS::MemoryDB::ParameterGroup` |
| Family | `memorydb_valkey7` |
| Parameter | `notify-keyspace-events` |
| Deployed via | `aws cloudformation deploy` (AWS CLI v2) |
### Expected Behavior
```
[
{
"Name": "notify-keyspace-events",
"Value": "KEg$",
"Description": "The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled",
"DataType": "string",
"MinimumEngineVersion": "7.2.6"
}
]
```
directly after Create
### Observed Behavior
```
[
{
"Name": "notify-keyspace-events",
"Description": "The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled",
"DataType": "string",
"MinimumEngineVersion": "7.2.6"
}
]
```
directly after Create
```
[
{
"Name": "notify-keyspace-events",
"Value": "KEg$",
"Description": "The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled",
"DataType": "string",
"MinimumEngineVersion": "7.2.6"
}
]
```
after Update
### Test Cases
`pgtest2.yaml` — the entire template. No cluster, no subnet group, no other
resource:
```yaml
AWSTemplateFormatVersion: '2010-09-09'
Resources:
Pg:
Type: AWS::MemoryDB::ParameterGroup
Properties:
ParameterGroupName: cfn-pgtest2-keyspace
Family: memorydb_valkey7
Description: repro
Parameters:
notify-keyspace-events: 'KEg$'
```
### Step 1 — create the stack
```bash
aws cloudformation deploy --stack-name cfn-pgtest2 --template-file pgtest2.yaml
# Successfully created/updated stack - cfn-pgtest2
aws memorydb describe-parameters \
--parameter-group-name cfn-pgtest2-keyspace \
--query 'Parameters[?Name==`notify-keyspace-events`]' \
--output json
```
**Actual output:**
```json
[
{
"Name": "notify-keyspace-events",
"Description": "The keyspace events for Redis to notify Pub/Sub clients about. By default all notifications are disabled",
"DataType": "string",
"MinimumEngineVersion": "7.2.6"
}
]
```
There is **no `Value` field at all** — not `""`, not a staged or pending value.
The parameter is simply unset.
**Expected output:** the same object with `"Value": "KEg$"`.
### Step 2 — control: apply the value directly
Against the **same** parameter group created by CloudFormation above:
```bash
aws memorydb update-parameter-group \
--parameter-group-name cfn-pgtest2-keyspace \
--parameter-name-values 'ParameterName=notify-keyspace-events,ParameterValue=KEg$'
aws memorydb describe-parameters \
--parameter-group-name cfn-pgtest2-keyspace \
--query 'Parameters[?Name==`notify-keyspace-events`]' \
--output json
```
### Other Details
_No response_
Contributor guide
Research direction
Use pgtest2.yaml as the minimal reproduction; run the listed aws cloudformation deploy and aws memorydb describe-parameters commands, then compare with aws memorydb update-parameter-group. Done when creation applies notify-keyspace-events and describe-parameters returns its Value.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws
- Domain
- cloud
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100