From Code to Community: Sponsoring The Perl and Raku Conference 2025 Learn more

use Moose;
has MetricIntervalLowerBound => (is => 'ro', isa => 'Num');
has MetricIntervalUpperBound => (is => 'ro', isa => 'Num');
has ScalingAdjustment => (is => 'ro', isa => 'Int', required => 1);
1;
### main pod documentation begin ###
=head1 NAME
Paws::ApplicationAutoScaling::StepAdjustment
=head1 USAGE
This class represents one of two things:
=head3 Arguments in a call to a service
Use the attributes of this class as arguments to methods. You shouldn't make instances of this class.
Each attribute should be used as a named argument in the calls that expect this type of object.
As an example, if Att1 is expected to be a Paws::ApplicationAutoScaling::StepAdjustment object:
$service_obj->Method(Att1 => { MetricIntervalLowerBound => $value, ..., ScalingAdjustment => $value });
=head3 Results returned from an API call
Use accessors for each attribute. If Att1 is expected to be an Paws::ApplicationAutoScaling::StepAdjustment object:
$result = $service_obj->Method(...);
$result->Att1->MetricIntervalLowerBound
=head1 DESCRIPTION
An object representing a step adjustment for a
StepScalingPolicyConfiguration. Describes an adjustment based on the
difference between the value of the aggregated CloudWatch metric and
the breach threshold that you've defined for the alarm.
For the following examples, suppose that you have an alarm with a
breach threshold of 50:
=over
=item *
If you want the adjustment to be triggered when the metric is greater
than or equal to 50 and less than 60, specify a lower bound of 0 and an
upper bound of 10.
=item *
If you want the adjustment to be triggered when the metric is greater
than 40 and less than or equal to 50, specify a lower bound of -10 and
an upper bound of 0.
=back
There are a few rules for the step adjustments for your step policy:
=over
=item *
The ranges of your step adjustments can't overlap or have a gap.
=item *
At most one step adjustment can have a null lower bound. If one step
adjustment has a negative lower bound, then there must be a step
adjustment with a null lower bound.
=item *
At most one step adjustment can have a null upper bound. If one step
adjustment has a positive upper bound, then there must be a step
adjustment with a null upper bound.
=item *
The upper and lower bound can't be null in the same step adjustment.
=back
=head1 ATTRIBUTES
=head2 MetricIntervalLowerBound => Num
The lower bound for the difference between the alarm threshold and the
CloudWatch metric. If the metric value is above the breach threshold,
the lower bound is inclusive (the metric must be greater than or equal
to the threshold plus the lower bound). Otherwise, it is exclusive (the
metric must be greater than the threshold plus the lower bound). A null
value indicates negative infinity.
=head2 MetricIntervalUpperBound => Num
The upper bound for the difference between the alarm threshold and the
CloudWatch metric. If the metric value is above the breach threshold,
the upper bound is exclusive (the metric must be less than the
threshold plus the upper bound). Otherwise, it is inclusive (the metric
must be less than or equal to the threshold plus the upper bound). A
null value indicates positive infinity.
The upper bound must be greater than the lower bound.
=head2 B<REQUIRED> ScalingAdjustment => Int
The amount by which to scale, based on the specified adjustment type. A
positive value adds to the current scalable dimension while a negative
number removes from the current scalable dimension.
=head1 SEE ALSO
This class forms part of L<Paws>, describing an object used in L<Paws::ApplicationAutoScaling>
=head1 BUGS and CONTRIBUTIONS
The source code is located here: https://github.com/pplu/aws-sdk-perl
=cut