diff --git a/packages/@aws-cdk/aws-dynamodb/lib/table.ts b/packages/@aws-cdk/aws-dynamodb/lib/table.ts index 20c99168d08f8..ead9ef4ff990c 100644 --- a/packages/@aws-cdk/aws-dynamodb/lib/table.ts +++ b/packages/@aws-cdk/aws-dynamodb/lib/table.ts @@ -1333,8 +1333,8 @@ export class Table extends TableBase { encryptionType = props.encryptionKey != null // If there is a configured encyptionKey, the encryption is implicitly CUSTOMER_MANAGED ? TableEncryption.CUSTOMER_MANAGED - // Otherwise, if severSideEncryption is enabled, it's AWS_MANAGED; else DEFAULT - : props.serverSideEncryption ? TableEncryption.AWS_MANAGED : TableEncryption.DEFAULT; + // Otherwise, if severSideEncryption is enabled, it's AWS_MANAGED; else undefined (do not set anything) + : props.serverSideEncryption ? TableEncryption.AWS_MANAGED : undefined; } if (encryptionType !== TableEncryption.CUSTOMER_MANAGED && props.encryptionKey) { @@ -1362,6 +1362,9 @@ export class Table extends TableBase { return { sseSpecification: { sseEnabled: true } }; case TableEncryption.DEFAULT: + return { sseSpecification: { sseEnabled: false } }; + + case undefined: // Not specifying "sseEnabled: false" here because it would cause phony changes to existing stacks. return { sseSpecification: undefined }; diff --git a/packages/@aws-cdk/aws-dynamodb/test/integ.dynamodb.sse.expected.json b/packages/@aws-cdk/aws-dynamodb/test/integ.dynamodb.sse.expected.json index 3a3b5788fd907..c8e4ada3c14bd 100644 --- a/packages/@aws-cdk/aws-dynamodb/test/integ.dynamodb.sse.expected.json +++ b/packages/@aws-cdk/aws-dynamodb/test/integ.dynamodb.sse.expected.json @@ -507,6 +507,9 @@ "ProvisionedThroughput": { "ReadCapacityUnits": 5, "WriteCapacityUnits": 5 + }, + "SSESpecification": { + "SSEEnabled": false } }, "UpdateReplacePolicy": "Delete",