Paws::AutoScalingPlans::CreateScalingPlan - Arguments for method CreateScalingPlan on Paws::AutoScalingPlans
This class represents the parameters used for calling the method CreateScalingPlan on the AWS Auto Scaling Plans service. Use the attributes of this class as arguments to method CreateScalingPlan.
You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to CreateScalingPlan.
my $autoscaling-plans = Paws->service('AutoScalingPlans'); my $CreateScalingPlanResponse = $autoscaling -plans->CreateScalingPlan( ApplicationSource => { CloudFormationStackARN => 'MyXmlString', # OPTIONAL TagFilters => [ { Key => 'MyXmlStringMaxLen128', # min: 1, max: 128; OPTIONAL Values => [ 'MyXmlStringMaxLen256', ... # min: 1, max: 256 ], # OPTIONAL }, ... ], # OPTIONAL }, ScalingInstructions => [ { MaxCapacity => 1, MinCapacity => 1, ResourceId => 'MyResourceIdMaxLen1600', # min: 1, max: 1600 ScalableDimension => 'autoscaling:autoScalingGroup:DesiredCapacity' , # values: autoscaling:autoScalingGroup:DesiredCapacity, ecs:service:DesiredCount, ec2:spot-fleet-request:TargetCapacity, rds:cluster:ReadReplicaCount, dynamodb:table:ReadCapacityUnits, dynamodb:table:WriteCapacityUnits, dynamodb:index:ReadCapacityUnits, dynamodb:index:WriteCapacityUnits ServiceNamespace => 'autoscaling', # values: autoscaling, ecs, ec2, rds, dynamodb TargetTrackingConfigurations => [ { TargetValue => 1, CustomizedScalingMetricSpecification => { MetricName => 'MyMetricName', Namespace => 'MyMetricNamespace', Statistic => 'Average' , # values: Average, Minimum, Maximum, SampleCount, Sum Dimensions => [ { Name => 'MyMetricDimensionName', Value => 'MyMetricDimensionValue', }, ... ], # OPTIONAL Unit => 'MyMetricUnit', # OPTIONAL }, # OPTIONAL DisableScaleIn => 1, # OPTIONAL EstimatedInstanceWarmup => 1, # OPTIONAL PredefinedScalingMetricSpecification => { PredefinedScalingMetricType => 'ASGAverageCPUUtilization' , # values: ASGAverageCPUUtilization, ASGAverageNetworkIn, ASGAverageNetworkOut, DynamoDBReadCapacityUtilization, DynamoDBWriteCapacityUtilization, ECSServiceAverageCPUUtilization, ECSServiceAverageMemoryUtilization, ALBRequestCountPerTarget, RDSReaderAverageCPUUtilization, RDSReaderAverageDatabaseConnections, EC2SpotFleetRequestAverageCPUUtilization, EC2SpotFleetRequestAverageNetworkIn, EC2SpotFleetRequestAverageNetworkOut ResourceLabel => 'MyResourceLabel', # min: 1, max: 1023; OPTIONAL }, # OPTIONAL ScaleInCooldown => 1, # OPTIONAL ScaleOutCooldown => 1, # OPTIONAL }, ... ], CustomizedLoadMetricSpecification => { MetricName => 'MyMetricName', Namespace => 'MyMetricNamespace', Statistic => 'Average', # values: Average, Minimum, Maximum, SampleCount, Sum Dimensions => [ { Name => 'MyMetricDimensionName', Value => 'MyMetricDimensionValue', }, ... ], # OPTIONAL Unit => 'MyMetricUnit', # OPTIONAL }, # OPTIONAL DisableDynamicScaling => 1, # OPTIONAL PredefinedLoadMetricSpecification => { PredefinedLoadMetricType => 'ASGTotalCPUUtilization' , # values: ASGTotalCPUUtilization, ASGTotalNetworkIn, ASGTotalNetworkOut, ALBTargetGroupRequestCount ResourceLabel => 'MyResourceLabel', # min: 1, max: 1023; OPTIONAL }, # OPTIONAL PredictiveScalingMaxCapacityBehavior => 'SetForecastCapacityToMaxCapacity' , # values: SetForecastCapacityToMaxCapacity, SetMaxCapacityToForecastCapacity, SetMaxCapacityAboveForecastCapacity; OPTIONAL PredictiveScalingMaxCapacityBuffer => 1, PredictiveScalingMode => 'ForecastAndScale' , # values: ForecastAndScale, ForecastOnly; OPTIONAL ScalingPolicyUpdateBehavior => 'KeepExternalPolicies' , # values: KeepExternalPolicies, ReplaceExternalPolicies; OPTIONAL ScheduledActionBufferTime => 1, # OPTIONAL }, ... ], ScalingPlanName => 'MyScalingPlanName', ); # Results: my $ScalingPlanVersion = $CreateScalingPlanResponse->ScalingPlanVersion; # Returns a L<Paws::AutoScalingPlans::CreateScalingPlanResponse> object.
Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/autoscaling-plans/CreateScalingPlan
A CloudFormation stack or set of tags. You can create one scaling plan per application source.
For more information, see ApplicationSource (https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ApplicationSource.html) in the AWS Auto Scaling API Reference.
The scaling instructions.
For more information, see ScalingInstruction (https://docs.aws.amazon.com/autoscaling/plans/APIReference/API_ScalingInstruction.html) in the AWS Auto Scaling API Reference.
The name of the scaling plan. Names cannot contain vertical bars, colons, or forward slashes.
This class forms part of Paws, documenting arguments for method CreateScalingPlan in Paws::AutoScalingPlans
The source code is located here: https://github.com/pplu/aws-sdk-perl
Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues
To install Paws, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Paws
CPAN shell
perl -MCPAN -e shell install Paws
For more information on module installation, please visit the detailed CPAN module installation guide.