AWS Tools for Windows PowerShell
Command Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Synopsis

Invokes the PutScalingPolicy operation against Application Auto Scaling.

Syntax

Write-AASScalingPolicy
-ServiceNamespace <ServiceNamespace>
-StepScalingPolicyConfiguration_AdjustmentType <AdjustmentType>
-StepScalingPolicyConfiguration_Cooldown <Int32>
-CustomizedMetricSpecification_Dimension <MetricDimension[]>
-TargetTrackingScalingPolicyConfiguration_DisableScaleIn <Boolean>
-StepScalingPolicyConfiguration_MetricAggregationType <MetricAggregationType>
-CustomizedMetricSpecification_MetricName <String>
-StepScalingPolicyConfiguration_MinAdjustmentMagnitude <Int32>
-CustomizedMetricSpecification_Namespace <String>
-PolicyName <String>
-PolicyType <PolicyType>
-PredefinedMetricSpecification_PredefinedMetricType <MetricType>
-ResourceId <String>
-PredefinedMetricSpecification_ResourceLabel <String>
-ScalableDimension <ScalableDimension>
-TargetTrackingScalingPolicyConfiguration_ScaleInCooldown <Int32>
-TargetTrackingScalingPolicyConfiguration_ScaleOutCooldown <Int32>
-CustomizedMetricSpecification_Statistic <MetricStatistic>
-StepScalingPolicyConfiguration_StepAdjustment <StepAdjustment[]>
-TargetTrackingScalingPolicyConfiguration_TargetValue <Double>
-CustomizedMetricSpecification_Unit <String>
-Force <SwitchParameter>

Description

Creates or updates a policy for an Application Auto Scaling scalable target. Each scalable target is identified by a service namespace, resource ID, and scalable dimension. A scaling policy applies to the scalable target identified by those three attributes. You cannot create a scaling policy without first registering a scalable target using RegisterScalableTarget. To update a policy, specify its policy name and the parameters that you want to change. Any parameters that you don't specify are not changed by this update request. You can view the scaling policies for a service namespace using DescribeScalingPolicies. If you are no longer using a scaling policy, you can delete it using DeleteScalingPolicy.

Parameters

-CustomizedMetricSpecification_Dimension <MetricDimension[]>
The dimensions of the metric.
Required?False
Position?Named
Accept pipeline input?False
-CustomizedMetricSpecification_MetricName <String>
The name of the metric.
Required?False
Position?Named
Accept pipeline input?False
-CustomizedMetricSpecification_Namespace <String>
The namespace of the metric.
Required?False
Position?Named
Accept pipeline input?False
-CustomizedMetricSpecification_Statistic <MetricStatistic>
The statistic of the metric.
Required?False
Position?Named
Accept pipeline input?False
-CustomizedMetricSpecification_Unit <String>
The unit of the metric.
Required?False
Position?Named
Accept pipeline input?False
-Force <SwitchParameter>
This parameter overrides confirmation prompts to force the cmdlet to continue its operation. This parameter should always be used with caution.
Required?False
Position?Named
Accept pipeline input?False
-PolicyName <String>
The name of the scaling policy.
Required?False
Position?Named
Accept pipeline input?False
-PolicyType <PolicyType>
The policy type. If you are creating a new policy, this parameter is required. If you are updating a policy, this parameter is not required.For DynamoDB, only TargetTrackingScaling is supported. For any other service, only StepScaling is supported.
Required?False
Position?Named
Accept pipeline input?False
-PredefinedMetricSpecification_PredefinedMetricType <MetricType>
The metric type.
Required?False
Position?Named
Accept pipeline input?False
-PredefinedMetricSpecification_ResourceLabel <String>
Reserved for future use.
Required?False
Position?Named
Accept pipeline input?False
-ResourceId <String>
The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.
  • ECS service - The resource type is service and the unique identifier is the cluster name and service name. Example: service/default/sample-webapp.
  • Spot fleet request - The resource type is spot-fleet-request and the unique identifier is the Spot fleet request ID. Example: spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE.
  • EMR cluster - The resource type is instancegroup and the unique identifier is the cluster ID and instance group ID. Example: instancegroup/j-2EEZNYKUA1NTV/ig-1791Y4E1L8YI0.
  • AppStream 2.0 fleet - The resource type is fleet and the unique identifier is the fleet name. Example: fleet/sample-fleet.
  • DynamoDB table - The resource type is table and the unique identifier is the resource ID. Example: table/my-table.
  • DynamoDB global secondary index - The resource type is index and the unique identifier is the resource ID. Example: table/my-table/index/my-table-index.
Required?False
Position?Named
Accept pipeline input?False
-ScalableDimension <ScalableDimension>
The scalable dimension. This string consists of the service namespace, resource type, and scaling property.
  • ecs:service:DesiredCount - The desired task count of an ECS service.
  • ec2:spot-fleet-request:TargetCapacity - The target capacity of a Spot fleet request.
  • elasticmapreduce:instancegroup:InstanceCount - The instance count of an EMR Instance Group.
  • 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.
Required?False
Position?Named
Accept pipeline input?False
-ServiceNamespace <ServiceNamespace>
The namespace of the AWS service. For more information, see AWS Service Namespaces in the Amazon Web Services General Reference.
Required?False
Position?1
Accept pipeline input?True (ByValue, )
-StepScalingPolicyConfiguration_AdjustmentType <AdjustmentType>
The adjustment type, which specifies how the ScalingAdjustment parameter in a StepAdjustment is interpreted.
Required?False
Position?Named
Accept pipeline input?False
-StepScalingPolicyConfiguration_Cooldown <Int32>
The amount of time, in seconds, after a scaling activity completes where previous trigger-related scaling activities can influence future scaling events.For scale out policies, while the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out. For example, an alarm triggers a step scaling policy to scale out an Amazon ECS service by 2 tasks, the scaling activity completes successfully, and a cooldown period of 5 minutes starts. During the Cooldown period, if the alarm triggers the same policy again but at a more aggressive step adjustment to scale out the service by 3 tasks, the 2 tasks that were added in the previous scale out event are considered part of that capacity and only 1 additional task is added to the desired count.For scale in policies, the cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.
Required?False
Position?Named
Accept pipeline input?False
-StepScalingPolicyConfiguration_MetricAggregationType <MetricAggregationType>
The aggregation type for the CloudWatch metrics. Valid values are Minimum, Maximum, and Average.
Required?False
Position?Named
Accept pipeline input?False
-StepScalingPolicyConfiguration_MinAdjustmentMagnitude <Int32>
The minimum number to adjust your scalable dimension as a result of a scaling activity. If the adjustment type is PercentChangeInCapacity, the scaling policy changes the scalable dimension of the scalable target by this amount.
Required?False
Position?Named
Accept pipeline input?False
-StepScalingPolicyConfiguration_StepAdjustment <StepAdjustment[]>
A set of adjustments that enable you to scale based on the size of the alarm breach.
Required?False
Position?Named
Accept pipeline input?False
-TargetTrackingScalingPolicyConfiguration_DisableScaleIn <Boolean>
Indicates whether scale in by the target tracking policy is disabled. If the value is true, scale in is disabled and the target tracking policy won't remove capacity from the scalable resource. Otherwise, scale in is enabled and the target tracking policy can remove capacity from the scalable resource. The default value is false.
Required?False
Position?Named
Accept pipeline input?False
-TargetTrackingScalingPolicyConfiguration_ScaleInCooldown <Int32>
The amount of time, in seconds, after a scale in activity completes before another scale in activity can start.The cooldown period is used to block subsequent scale in requests until it has expired. The intention is to scale in conservatively to protect your application's availability. However, if another alarm triggers a scale out policy during the cooldown period after a scale-in, Application Auto Scaling scales out your scalable target immediately.
Required?False
Position?Named
Accept pipeline input?False
-TargetTrackingScalingPolicyConfiguration_ScaleOutCooldown <Int32>
The amount of time, in seconds, after a scale out activity completes before another scale out activity can start.While the cooldown period is in effect, the capacity that has been added by the previous scale out event that initiated the cooldown is calculated as part of the desired capacity for the next scale out. The intention is to continuously (but not excessively) scale out.
Required?False
Position?Named
Accept pipeline input?False
-TargetTrackingScalingPolicyConfiguration_TargetValue <Double>
The target value for the metric. The range is 8.515920e-109 to 1.174271e+108 (Base 10) or 2e-360 to 2e360 (Base 2).
Required?False
Position?Named
Accept pipeline input?False

Common Credential and Region Parameters

-AccessKey <String>
The AWS access key for the user account. This can be a temporary access key if the corresponding session token is supplied to the -SessionToken parameter.
Required? False
Position? Named
Accept pipeline input? False
-Credential <AWSCredentials>
An AWSCredentials object instance containing access and secret key information, and optionally a token for session-based credentials.
Required? False
Position? Named
Accept pipeline input? False
-ProfileLocation <String>

Used to specify the name and location of the ini-format credential file (shared with the AWS CLI and other AWS SDKs)

If this optional parameter is omitted this cmdlet will search the encrypted credential file used by the AWS SDK for .NET and AWS Toolkit for Visual Studio first. If the profile is not found then the cmdlet will search in the ini-format credential file at the default location: (user's home directory)\.aws\credentials. Note that the encrypted credential file is not supported on all platforms. It will be skipped when searching for profiles on Windows Nano Server, Mac, and Linux platforms.

If this parameter is specified then this cmdlet will only search the ini-format credential file at the location given.

As the current folder can vary in a shell or during script execution it is advised that you use specify a fully qualified path instead of a relative path.

Required? False
Position? Named
Accept pipeline input? False
-ProfileName <String>
The user-defined name of an AWS credentials or SAML-based role profile containing credential information. The profile is expected to be found in the secure credential file shared with the AWS SDK for .NET and AWS Toolkit for Visual Studio. You can also specify the name of a profile stored in the .ini-format credential file used with the AWS CLI and other AWS SDKs.
Required? False
Position? Named
Accept pipeline input? False
-NetworkCredential <PSCredential>
Used with SAML-based authentication when ProfileName references a SAML role profile. Contains the network credentials to be supplied during authentication with the configured identity provider's endpoint. This parameter is not required if the user's default network identity can or should be used during authentication.
Required? False
Position? Named
Accept pipeline input? False
-SecretKey <String>
The AWS secret key for the user account. This can be a temporary secret key if the corresponding session token is supplied to the -SessionToken parameter.
Required? False
Position? Named
Accept pipeline input? False
-SessionToken <String>
The session token if the access and secret keys are temporary session-based credentials.
Required? False
Position? Named
Accept pipeline input? False
-Region <String>
The system name of the AWS region in which the operation should be invoked. For example, us-east-1, eu-west-1 etc.
Required? False
Position? Named
Accept pipeline input? False
-EndpointUrl <String>

The endpoint to make the call against.

Note: This parameter is primarily for internal AWS use and is not required/should not be specified for normal usage. The cmdlets normally determine which endpoint to call based on the region specified to the -Region parameter or set as default in the shell (via Set-DefaultAWSRegion). Only specify this parameter if you must direct the call to a specific custom endpoint.

Required? False
Position? Named
Accept pipeline input? False

Inputs

You can pipe a ServiceNamespace object to this cmdlet for the ServiceNamespace parameter.

Outputs

This cmdlet returns a Amazon.ApplicationAutoScaling.Model.PutScalingPolicyResponse object containing multiple properties. The object can also be referenced from properties attached to the cmdlet entry in the $AWSHistory stack.

Supported Version

AWS Tools for PowerShell: 2.x.y.z