diff --git a/cdk/lib/__snapshots__/mobile-save-for-later.test.ts.snap b/cdk/lib/__snapshots__/mobile-save-for-later.test.ts.snap index 3472132f..72a72d38 100644 --- a/cdk/lib/__snapshots__/mobile-save-for-later.test.ts.snap +++ b/cdk/lib/__snapshots__/mobile-save-for-later.test.ts.snap @@ -7,11 +7,13 @@ Object { "StageVariables": Object { "CODE": Object { "TableReadCapacity": 1, - "TableWriteCapacity": 1, + "TableWriteMaxCapacity": 10, + "TableWriteMinCapacity": 1, }, "PROD": Object { "TableReadCapacity": 200, - "TableWriteCapacity": 125, + "TableWriteMaxCapacity": 400, + "TableWriteMinCapacity": 75, }, }, }, @@ -581,7 +583,7 @@ Object { Object { "Ref": "Stage", }, - "TableWriteCapacity", + "TableWriteMinCapacity", ], }, }, @@ -609,6 +611,55 @@ Object { }, "Type": "AWS::DynamoDB::Table", }, + "SaveForLaterWritesScalableTarget": Object { + "Properties": Object { + "MaxCapacity": Object { + "Fn::FindInMap": Array [ + "StageVariables", + Object { + "Ref": "Stage", + }, + "TableWriteMaxCapacity", + ], + }, + "MinCapacity": Object { + "Fn::FindInMap": Array [ + "StageVariables", + Object { + "Ref": "Stage", + }, + "TableWriteMinCapacity", + ], + }, + "ResourceId": Object { + "Fn::Sub": "table/\${App}-\${Stage}-articles", + }, + "RoleARN": Object { + "Fn::Sub": "arn:aws:iam::\${AWS::AccountId}:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", + }, + "ScalableDimension": "dynamodb:table:WriteCapacityUnits", + "ServiceNamespace": "dynamodb", + }, + "Type": "AWS::ApplicationAutoScaling::ScalableTarget", + }, + "SaveForLaterWritesScalingPolicy": Object { + "Properties": Object { + "PolicyName": "SaveForLaterWritesScalingPolicy", + "PolicyType": "TargetTrackingScaling", + "ScalingTargetId": Object { + "Ref": "SaveForLaterWritesScalableTarget", + }, + "TargetTrackingScalingPolicyConfiguration": Object { + "PredefinedMetricSpecification": Object { + "PredefinedMetricType": "DynamoDBWriteCapacityUtilization", + }, + "ScaleInCooldown": 60, + "ScaleOutCooldown": 10, + "TargetValue": 70, + }, + }, + "Type": "AWS::ApplicationAutoScaling::ScalingPolicy", + }, "fetcharticleslambda4E2BF026": Object { "DependsOn": Array [ "fetcharticleslambdaServiceRoleDefaultPolicy4A85964A", @@ -1080,11 +1131,13 @@ Object { "StageVariables": Object { "CODE": Object { "TableReadCapacity": 1, - "TableWriteCapacity": 1, + "TableWriteMaxCapacity": 10, + "TableWriteMinCapacity": 1, }, "PROD": Object { "TableReadCapacity": 200, - "TableWriteCapacity": 125, + "TableWriteMaxCapacity": 400, + "TableWriteMinCapacity": 75, }, }, }, @@ -1727,7 +1780,7 @@ Object { Object { "Ref": "Stage", }, - "TableWriteCapacity", + "TableWriteMinCapacity", ], }, }, @@ -1755,6 +1808,55 @@ Object { }, "Type": "AWS::DynamoDB::Table", }, + "SaveForLaterWritesScalableTarget": Object { + "Properties": Object { + "MaxCapacity": Object { + "Fn::FindInMap": Array [ + "StageVariables", + Object { + "Ref": "Stage", + }, + "TableWriteMaxCapacity", + ], + }, + "MinCapacity": Object { + "Fn::FindInMap": Array [ + "StageVariables", + Object { + "Ref": "Stage", + }, + "TableWriteMinCapacity", + ], + }, + "ResourceId": Object { + "Fn::Sub": "table/\${App}-\${Stage}-articles", + }, + "RoleARN": Object { + "Fn::Sub": "arn:aws:iam::\${AWS::AccountId}:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_DynamoDBTable", + }, + "ScalableDimension": "dynamodb:table:WriteCapacityUnits", + "ServiceNamespace": "dynamodb", + }, + "Type": "AWS::ApplicationAutoScaling::ScalableTarget", + }, + "SaveForLaterWritesScalingPolicy": Object { + "Properties": Object { + "PolicyName": "SaveForLaterWritesScalingPolicy", + "PolicyType": "TargetTrackingScaling", + "ScalingTargetId": Object { + "Ref": "SaveForLaterWritesScalableTarget", + }, + "TargetTrackingScalingPolicyConfiguration": Object { + "PredefinedMetricSpecification": Object { + "PredefinedMetricType": "DynamoDBWriteCapacityUtilization", + }, + "ScaleInCooldown": 60, + "ScaleOutCooldown": 10, + "TargetValue": 70, + }, + }, + "Type": "AWS::ApplicationAutoScaling::ScalingPolicy", + }, "fetcharticleslambda4E2BF026": Object { "DependsOn": Array [ "fetcharticleslambdaServiceRoleDefaultPolicy4A85964A",