Skip to content

Commit 7a6d1e8

Browse files
committed
chore: add scaling policy for new index
1 parent 74e5713 commit 7a6d1e8

1 file changed

Lines changed: 52 additions & 2 deletions

File tree

SAMtemplates/tables/main.yaml

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,14 +233,14 @@ Resources:
233233
- TerminalStatus
234234
- LastModified
235235
- Status
236-
# TODO: Remove this when we deprecate post dated prescriptions.
236+
# TODO: Remove this when we deprecate post dated prescriptions.
237237
- PostDatedLastModifiedSetAt
238238
ProjectionType: INCLUDE
239239
ProvisionedThroughput: !If
240240
- EnableDynamoDBAutoScalingCondition
241241
- ReadCapacityUnits: 1
242242
WriteCapacityUnits: !Ref MinWritePrescriptionStatusUpdatesCapacity
243-
- !Ref "AWS::NoValue"
243+
- !Ref "AWS::NoValue"
244244
Tags:
245245
- Key: "EPS-Tablename"
246246
Value: "PrescriptionStatusUpdates"
@@ -356,6 +356,56 @@ Resources:
356356
PredefinedMetricSpecification:
357357
PredefinedMetricType: DynamoDBReadCapacityUtilization
358358

359+
PharmacyIndexIncPostDatedScalingWriteTarget:
360+
Type: AWS::ApplicationAutoScaling::ScalableTarget
361+
Condition: EnableDynamoDBAutoScalingCondition
362+
Properties:
363+
MinCapacity: !Ref MinWritePrescriptionStatusUpdatesCapacity
364+
MaxCapacity: !Ref MaxWritePrescriptionStatusUpdatesCapacity
365+
ResourceId: !Sub table/${PrescriptionStatusUpdatesTable}/index/PharmacyODSCodePrescriptionIDIndexIncPostDated
366+
RoleARN: !GetAtt DynamoDbScalingRole.Arn
367+
ScalableDimension: "dynamodb:index:WriteCapacityUnits"
368+
ServiceNamespace: dynamodb
369+
370+
PharmacyIndexIncPostDatedScalingWritePolicy:
371+
Type: AWS::ApplicationAutoScaling::ScalingPolicy
372+
Condition: EnableDynamoDBAutoScalingCondition
373+
Properties:
374+
PolicyName: PharmacyIndexIncPostDatedWriteScalingPolicy
375+
PolicyType: TargetTrackingScaling
376+
ScalingTargetId: !Ref PharmacyIndexIncPostDatedScalingWriteTarget
377+
TargetTrackingScalingPolicyConfiguration:
378+
TargetValue: 50
379+
ScaleInCooldown: 600
380+
ScaleOutCooldown: 0
381+
PredefinedMetricSpecification:
382+
PredefinedMetricType: DynamoDBWriteCapacityUtilization
383+
384+
PharmacyIndexIncPostDatedScalingReadTarget:
385+
Type: AWS::ApplicationAutoScaling::ScalableTarget
386+
Condition: EnableDynamoDBAutoScalingCondition
387+
Properties:
388+
MaxCapacity: 100
389+
MinCapacity: 1
390+
ResourceId: !Sub table/${PrescriptionStatusUpdatesTable}/index/PharmacyODSCodePrescriptionIDIndexIncPostDated
391+
RoleARN: !GetAtt DynamoDbScalingRole.Arn
392+
ScalableDimension: "dynamodb:index:ReadCapacityUnits"
393+
ServiceNamespace: dynamodb
394+
395+
PharmacyIndexIncPostDatedScalingReadPolicy:
396+
Type: AWS::ApplicationAutoScaling::ScalingPolicy
397+
Condition: EnableDynamoDBAutoScalingCondition
398+
Properties:
399+
PolicyName: PharmacyIndexIncPostDatedReadScalingPolicy
400+
PolicyType: TargetTrackingScaling
401+
ScalingTargetId: !Ref PharmacyIndexIncPostDatedScalingReadTarget
402+
TargetTrackingScalingPolicyConfiguration:
403+
TargetValue: 70
404+
ScaleInCooldown: 600
405+
ScaleOutCooldown: 10
406+
PredefinedMetricSpecification:
407+
PredefinedMetricType: DynamoDBReadCapacityUtilization
408+
359409
NHSNumberIndexScalingWriteTarget:
360410
Type: AWS::ApplicationAutoScaling::ScalableTarget
361411
Condition: EnableDynamoDBAutoScalingCondition

0 commit comments

Comments
 (0)