UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

2 lines (1 loc) 1.22 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.ScalableTableAttribute=void 0;const appscaling=require("../../aws-applicationautoscaling");class ScalableTableAttribute extends appscaling.BaseScalableAttribute{constructor(){super(...arguments),this.scalingPolicyCreated=!1}scaleOnSchedule(id,action){this.scalingPolicyCreated=!0,super.doScaleOnSchedule(id,action)}scaleOnUtilization(props){if(props.targetUtilizationPercent<10||props.targetUtilizationPercent>90)throw new RangeError(`targetUtilizationPercent for DynamoDB scaling must be between 10 and 90 percent, got: ${props.targetUtilizationPercent}`);this.scalingPolicyCreated=!0;const predefinedMetric=this.props.dimension.indexOf("ReadCapacity")===-1?appscaling.PredefinedMetric.DYNAMODB_WRITE_CAPACITY_UTILIZATION:appscaling.PredefinedMetric.DYNAMODB_READ_CAPACITY_UTILIZATION;super.doScaleToTrackMetric("Tracking",{policyName:props.policyName,disableScaleIn:props.disableScaleIn,scaleInCooldown:props.scaleInCooldown,scaleOutCooldown:props.scaleOutCooldown,targetValue:props.targetUtilizationPercent,predefinedMetric})}get _scalingPolicyCreated(){return this.scalingPolicyCreated}}exports.ScalableTableAttribute=ScalableTableAttribute;