@Generated(value="jsii-pacmak/1.67.0 (build 2c027f5)", date="2022-09-19T20:26:36.393Z") @Stability(value=Stable) public class CfnScalingPolicy extends CfnResource implements IInspectable
The AWS::ApplicationAutoScaling::ScalingPolicy resource defines a scaling policy that Application Auto Scaling uses to adjust the capacity of a scalable target.
For more information, see PutScalingPolicy in the Application Auto Scaling API Reference . For more information about Application Auto Scaling scaling policies, see Target tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide .
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.applicationautoscaling.*;
CfnScalingPolicy cfnScalingPolicy = CfnScalingPolicy.Builder.create(this, "MyCfnScalingPolicy")
.policyName("policyName")
.policyType("policyType")
// the properties below are optional
.resourceId("resourceId")
.scalableDimension("scalableDimension")
.scalingTargetId("scalingTargetId")
.serviceNamespace("serviceNamespace")
.stepScalingPolicyConfiguration(StepScalingPolicyConfigurationProperty.builder()
.adjustmentType("adjustmentType")
.cooldown(123)
.metricAggregationType("metricAggregationType")
.minAdjustmentMagnitude(123)
.stepAdjustments(List.of(StepAdjustmentProperty.builder()
.scalingAdjustment(123)
// the properties below are optional
.metricIntervalLowerBound(123)
.metricIntervalUpperBound(123)
.build()))
.build())
.targetTrackingScalingPolicyConfiguration(TargetTrackingScalingPolicyConfigurationProperty.builder()
.targetValue(123)
// the properties below are optional
.customizedMetricSpecification(CustomizedMetricSpecificationProperty.builder()
.metricName("metricName")
.namespace("namespace")
.statistic("statistic")
// the properties below are optional
.dimensions(List.of(MetricDimensionProperty.builder()
.name("name")
.value("value")
.build()))
.unit("unit")
.build())
.disableScaleIn(false)
.predefinedMetricSpecification(PredefinedMetricSpecificationProperty.builder()
.predefinedMetricType("predefinedMetricType")
// the properties below are optional
.resourceLabel("resourceLabel")
.build())
.scaleInCooldown(123)
.scaleOutCooldown(123)
.build())
.build();
| Modifier and Type | Class and Description |
|---|---|
static class |
CfnScalingPolicy.Builder
A fluent builder for
CfnScalingPolicy. |
static interface |
CfnScalingPolicy.CustomizedMetricSpecificationProperty
Contains customized metric specification information for a target tracking scaling policy for Application Auto Scaling.
|
static interface |
CfnScalingPolicy.MetricDimensionProperty
`MetricDimension` specifies a name/value pair that is part of the identity of a CloudWatch metric for the `Dimensions` property of the [AWS::ApplicationAutoScaling::ScalingPolicy CustomizedMetricSpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-customizedmetricspecification.html) property type.
|
static interface |
CfnScalingPolicy.PredefinedMetricSpecificationProperty
Contains predefined metric specification information for a target tracking scaling policy for Application Auto Scaling.
|
static interface |
CfnScalingPolicy.StepAdjustmentProperty
`StepAdjustment` specifies a step adjustment for the `StepAdjustments` property of the [AWS::ApplicationAutoScaling::ScalingPolicy StepScalingPolicyConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-applicationautoscaling-scalingpolicy-stepscalingpolicyconfiguration.html) property type.
|
static interface |
CfnScalingPolicy.StepScalingPolicyConfigurationProperty
`StepScalingPolicyConfiguration` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a step scaling policy configuration for Application Auto Scaling.
|
static interface |
CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty
`TargetTrackingScalingPolicyConfiguration` is a property of the [AWS::ApplicationAutoScaling::ScalingPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalingpolicy.html) resource that specifies a target tracking scaling policy configuration for Application Auto Scaling.
|
software.amazon.jsii.JsiiObject.InitializationModeIInspectable.Jsii$Default, IInspectable.Jsii$Proxy| Modifier and Type | Field and Description |
|---|---|
static String |
CFN_RESOURCE_TYPE_NAME
The CloudFormation resource type name for this resource class.
|
| Modifier | Constructor and Description |
|---|---|
|
CfnScalingPolicy(software.constructs.Construct scope,
String id,
CfnScalingPolicyProps props)
Create a new `AWS::ApplicationAutoScaling::ScalingPolicy`.
|
protected |
CfnScalingPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode) |
protected |
CfnScalingPolicy(software.amazon.jsii.JsiiObjectRef objRef) |
| Modifier and Type | Method and Description |
|---|---|
protected Map<String,Object> |
getCfnProperties() |
String |
getPolicyName()
The name of the scaling policy.
|
String |
getPolicyType()
The scaling policy type.
|
String |
getResourceId()
The identifier of the resource associated with the scaling policy.
|
String |
getScalableDimension()
The scalable dimension.
|
String |
getScalingTargetId()
The CloudFormation-generated ID of an Application Auto Scaling scalable target.
|
String |
getServiceNamespace()
The namespace of the AWS service that provides the resource, or a `custom-resource` .
|
Object |
getStepScalingPolicyConfiguration()
A step scaling policy.
|
Object |
getTargetTrackingScalingPolicyConfiguration()
A target tracking scaling policy.
|
void |
inspect(TreeInspector inspector)
Examines the CloudFormation resource and discloses attributes.
|
protected Map<String,Object> |
renderProperties(Map<String,Object> props) |
void |
setPolicyName(String value)
The name of the scaling policy.
|
void |
setPolicyType(String value)
The scaling policy type.
|
void |
setResourceId(String value)
The identifier of the resource associated with the scaling policy.
|
void |
setScalableDimension(String value)
The scalable dimension.
|
void |
setScalingTargetId(String value)
The CloudFormation-generated ID of an Application Auto Scaling scalable target.
|
void |
setServiceNamespace(String value)
The namespace of the AWS service that provides the resource, or a `custom-resource` .
|
void |
setStepScalingPolicyConfiguration(CfnScalingPolicy.StepScalingPolicyConfigurationProperty value)
A step scaling policy.
|
void |
setStepScalingPolicyConfiguration(IResolvable value)
A step scaling policy.
|
void |
setTargetTrackingScalingPolicyConfiguration(CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty value)
A target tracking scaling policy.
|
void |
setTargetTrackingScalingPolicyConfiguration(IResolvable value)
A target tracking scaling policy.
|
addDeletionOverride, addDependsOn, addMetadata, addOverride, addPropertyDeletionOverride, addPropertyOverride, applyRemovalPolicy, applyRemovalPolicy, applyRemovalPolicy, getAtt, getCfnOptions, getCfnResourceType, getMetadata, getUpdatedProperites, getUpdatedProperties, isCfnResource, shouldSynthesize, toString, validatePropertiesgetRefgetCreationStack, getLogicalId, getStack, isCfnElement, overrideLogicalIdjsiiAsyncCall, jsiiAsyncCall, jsiiCall, jsiiCall, jsiiGet, jsiiGet, jsiiSet, jsiiStaticCall, jsiiStaticCall, jsiiStaticGet, jsiiStaticGet, jsiiStaticSet, jsiiStaticSet@Stability(value=Stable) public static final String CFN_RESOURCE_TYPE_NAME
protected CfnScalingPolicy(software.amazon.jsii.JsiiObjectRef objRef)
protected CfnScalingPolicy(software.amazon.jsii.JsiiObject.InitializationMode initializationMode)
@Stability(value=Stable)
public CfnScalingPolicy(@NotNull
software.constructs.Construct scope,
@NotNull
String id,
@NotNull
CfnScalingPolicyProps props)
scope - - scope in which this resource is defined. This parameter is required.id - - scoped id of the resource. This parameter is required.props - - resource properties. This parameter is required.@Stability(value=Stable)
public void inspect(@NotNull
TreeInspector inspector)
inspect in interface IInspectableinspector - - tree inspector to collect and process attributes. This parameter is required.@Stability(value=Stable) @NotNull protected Map<String,Object> renderProperties(@NotNull Map<String,Object> props)
renderProperties in class CfnResourceprops - This parameter is required.@Stability(value=Stable) @NotNull protected Map<String,Object> getCfnProperties()
getCfnProperties in class CfnResource@Stability(value=Stable) @NotNull public String getPolicyName()
Updates to the name of a target tracking scaling policy are not supported, unless you also update the metric used for scaling. To change only a target tracking scaling policy's name, first delete the policy by removing the existing AWS::ApplicationAutoScaling::ScalingPolicy resource from the template and updating the stack. Then, recreate the resource with the same settings and a different name.
@Stability(value=Stable)
public void setPolicyName(@NotNull
String value)
Updates to the name of a target tracking scaling policy are not supported, unless you also update the metric used for scaling. To change only a target tracking scaling policy's name, first delete the policy by removing the existing AWS::ApplicationAutoScaling::ScalingPolicy resource from the template and updating the stack. Then, recreate the resource with the same settings and a different name.
@Stability(value=Stable) @NotNull public String getPolicyType()
The following policy types are supported:
TargetTrackingScaling —Not supported for Amazon EMR
StepScaling —Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.
@Stability(value=Stable)
public void setPolicyType(@NotNull
String value)
The following policy types are supported:
TargetTrackingScaling —Not supported for Amazon EMR
StepScaling —Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.
@Stability(value=Stable) @Nullable public String getResourceId()
This string consists of the resource type and unique identifier.
service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp .spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE .instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0 .fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet .table and the unique identifier is the table name. Example: table/my-table .index and the unique identifier is the index name. Example: table/my-table/index/my-table-index .cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster .variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering .OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository .arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE .arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE .function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST . Example: function:my-function:prod or function:my-function:1 .table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable .arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5 .replication-group and the unique identifier is the replication group name. Example: replication-group/mycluster .cluster and the unique identifier is the cluster name. Example: cluster:mycluster .@Stability(value=Stable)
public void setResourceId(@Nullable
String value)
This string consists of the resource type and unique identifier.
service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp .spot-fleet-request and the unique identifier is the Spot Fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE .instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0 .fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet .table and the unique identifier is the table name. Example: table/my-table .index and the unique identifier is the index name. Example: table/my-table/index/my-table-index .cluster and the unique identifier is the cluster name. Example: cluster:my-db-cluster .variant and the unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering .OutputValue from the CloudFormation template stack used to access the resources. The unique identifier is defined by the service provider. More information is available in our GitHub repository .arn:aws:comprehend:us-west-2:123456789012:document-classifier-endpoint/EXAMPLE .arn:aws:comprehend:us-west-2:123456789012:entity-recognizer-endpoint/EXAMPLE .function and the unique identifier is the function name with a function version or alias name suffix that is not $LATEST . Example: function:my-function:prod or function:my-function:1 .table and the unique identifier is the table name. Example: keyspace/mykeyspace/table/mytable .arn:aws:kafka:us-east-1:123456789012:cluster/demo-cluster-1/6357e0b2-0e6a-4b86-a0b4-70df934c2e31-5 .replication-group and the unique identifier is the replication group name. Example: replication-group/mycluster .cluster and the unique identifier is the cluster name. Example: cluster:mycluster .@Stability(value=Stable) @Nullable public String getScalableDimension()
ecs:service:DesiredCount - The desired task count of an ECS service.elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet.appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for a SageMaker model endpoint variant.custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB cluster.@Stability(value=Stable)
public void setScalableDimension(@Nullable
String value)
ecs:service:DesiredCount - The desired task count of an ECS service.elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot Fleet.appstream:fleet:DesiredCapacity - The desired capacity of an AppStream 2.0 fleet.dynamodb:table:ReadCapacityUnits - The provisioned read capacity for a DynamoDB table.dynamodb:table:WriteCapacityUnits - The provisioned write capacity for a DynamoDB table.dynamodb:index:ReadCapacityUnits - The provisioned read capacity for a DynamoDB global secondary index.dynamodb:index:WriteCapacityUnits - The provisioned write capacity for a DynamoDB global secondary index.rds:cluster:ReadReplicaCount - The count of Aurora Replicas in an Aurora DB cluster. Available for Aurora MySQL-compatible edition and Aurora PostgreSQL-compatible edition.sagemaker:variant:DesiredInstanceCount - The number of EC2 instances for a SageMaker model endpoint variant.custom-resource:ResourceType:Property - The scalable dimension for a custom resource provided by your own application or service.comprehend:document-classifier-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend document classification endpoint.comprehend:entity-recognizer-endpoint:DesiredInferenceUnits - The number of inference units for an Amazon Comprehend entity recognizer endpoint.lambda:function:ProvisionedConcurrency - The provisioned concurrency for a Lambda function.cassandra:table:ReadCapacityUnits - The provisioned read capacity for an Amazon Keyspaces table.cassandra:table:WriteCapacityUnits - The provisioned write capacity for an Amazon Keyspaces table.kafka:broker-storage:VolumeSize - The provisioned volume size (in GiB) for brokers in an Amazon MSK cluster.elasticache:replication-group:NodeGroups - The number of node groups for an Amazon ElastiCache replication group.elasticache:replication-group:Replicas - The number of replicas per node group for an Amazon ElastiCache replication group.neptune:cluster:ReadReplicaCount - The count of read replicas in an Amazon Neptune DB cluster.@Stability(value=Stable) @Nullable public String getScalingTargetId()
For more information about the ID, see the Return Value section of the AWS::ApplicationAutoScaling::ScalableTarget resource.
You must specify either the
ScalingTargetIdproperty, or theResourceId,ScalableDimension, andServiceNamespaceproperties, but not both.
@Stability(value=Stable)
public void setScalingTargetId(@Nullable
String value)
For more information about the ID, see the Return Value section of the AWS::ApplicationAutoScaling::ScalableTarget resource.
You must specify either the
ScalingTargetIdproperty, or theResourceId,ScalableDimension, andServiceNamespaceproperties, but not both.
@Stability(value=Stable) @Nullable public String getServiceNamespace()
@Stability(value=Stable)
public void setServiceNamespace(@Nullable
String value)
@Stability(value=Stable) @Nullable public Object getStepScalingPolicyConfiguration()
@Stability(value=Stable)
public void setStepScalingPolicyConfiguration(@Nullable
CfnScalingPolicy.StepScalingPolicyConfigurationProperty value)
@Stability(value=Stable)
public void setStepScalingPolicyConfiguration(@Nullable
IResolvable value)
@Stability(value=Stable) @Nullable public Object getTargetTrackingScalingPolicyConfiguration()
@Stability(value=Stable)
public void setTargetTrackingScalingPolicyConfiguration(@Nullable
CfnScalingPolicy.TargetTrackingScalingPolicyConfigurationProperty value)
@Stability(value=Stable)
public void setTargetTrackingScalingPolicyConfiguration(@Nullable
IResolvable value)
Copyright © 2022. All rights reserved.