@Generated(value="jsii-pacmak/1.74.0 (build 6d08790)", date="2023-03-22T19:35:41.424Z") public class ScalableTarget extends Resource implements IScalableTarget
Example:
import software.amazon.awscdk.services.lambda.*; Code code; Function handler = Function.Builder.create(this, "MyFunction") .runtime(Runtime.PYTHON_3_7) .handler("index.handler") .code(code) .reservedConcurrentExecutions(2) .build(); Version fnVer = handler.getCurrentVersion(); ScalableTarget target = ScalableTarget.Builder.create(this, "ScalableTarget") .serviceNamespace(ServiceNamespace.LAMBDA) .maxCapacity(100) .minCapacity(10) .resourceId(String.format("function:%s:%s", handler.getFunctionName(), fnVer.getVersion())) .scalableDimension("lambda:function:ProvisionedConcurrency") .build(); target.scaleToTrackMetric("PceTracking", BasicTargetTrackingScalingPolicyProps.builder() .targetValue(0.9) .predefinedMetric(PredefinedMetric.LAMBDA_PROVISIONED_CONCURRENCY_UTILIZATION) .build());
Modifier and Type | Class and Description |
---|---|
static class |
ScalableTarget.Builder
A fluent builder for
ScalableTarget . |
IScalableTarget.Jsii$Default, IScalableTarget.Jsii$Proxy
Modifier | Constructor and Description |
---|---|
protected |
ScalableTarget(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
ScalableTarget(software.amazon.jsii.JsiiObjectRef objRef) |
|
ScalableTarget(software.constructs.Construct scope,
java.lang.String id,
ScalableTargetProps props) |
Modifier and Type | Method and Description |
---|---|
void |
addToRolePolicy(PolicyStatement statement)
Add a policy statement to the role's policy.
|
static IScalableTarget |
fromScalableTargetId(software.constructs.Construct scope,
java.lang.String id,
java.lang.String scalableTargetId) |
IRole |
getRole()
The role used to give AutoScaling permissions to your resource.
|
java.lang.String |
getScalableTargetId()
ID of the Scalable Target.
|
StepScalingPolicy |
scaleOnMetric(java.lang.String id,
BasicStepScalingPolicyProps props)
Scale out or in, in response to a metric.
|
void |
scaleOnSchedule(java.lang.String id,
ScalingSchedule action)
Scale out or in based on time.
|
TargetTrackingScalingPolicy |
scaleToTrackMetric(java.lang.String id,
BasicTargetTrackingScalingPolicyProps props)
Scale out or in in order to keep a metric around a target value.
|
applyRemovalPolicy, generatePhysicalName, getEnv, getPhysicalName, getResourceArnAttribute, getResourceNameAttribute, getStack, isResource
getNode, isConstruct, onPrepare, onSynthesize, onValidate, prepare, synthesize, validate
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
applyRemovalPolicy, getEnv, getStack
getNode
protected ScalableTarget(software.amazon.jsii.JsiiObjectRef objRef)
protected ScalableTarget(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
public ScalableTarget(software.constructs.Construct scope, java.lang.String id, ScalableTargetProps props)
scope
- This parameter is required.id
- This parameter is required.props
- This parameter is required.public static IScalableTarget fromScalableTargetId(software.constructs.Construct scope, java.lang.String id, java.lang.String scalableTargetId)
scope
- This parameter is required.id
- This parameter is required.scalableTargetId
- This parameter is required.public void addToRolePolicy(PolicyStatement statement)
statement
- This parameter is required.public StepScalingPolicy scaleOnMetric(java.lang.String id, BasicStepScalingPolicyProps props)
id
- This parameter is required.props
- This parameter is required.public void scaleOnSchedule(java.lang.String id, ScalingSchedule action)
id
- This parameter is required.action
- This parameter is required.public TargetTrackingScalingPolicy scaleToTrackMetric(java.lang.String id, BasicTargetTrackingScalingPolicyProps props)
id
- This parameter is required.props
- This parameter is required.public IRole getRole()
public java.lang.String getScalableTargetId()
Example value: service/ecsStack-MyECSCluster-AB12CDE3F4GH/ecsStack-MyECSService-AB12CDE3F4GH|ecs:service:DesiredCount|ecs
getScalableTargetId
in interface IScalableTarget