NAME

Paws::AutoScaling - Perl Interface to AWS Auto Scaling

SYNOPSIS

  use Paws;

  my $obj = Paws->service('AutoScaling')->new;
  my $res = $obj->Method(
    Arg1 => $val1,
    Arg2 => [ 'V1', 'V2' ],
    # if Arg3 is an object, the HashRef will be used as arguments to the constructor
    # of the arguments type
    Arg3 => { Att1 => 'Val1' },
    # if Arg4 is an array of objects, the HashRefs will be passed as arguments to
    # the constructor of the arguments type
    Arg4 => [ { Att1 => 'Val1'  }, { Att1 => 'Val2' } ],
  );

DESCRIPTION

Auto Scaling

Auto Scaling is designed to automatically launch or terminate EC2 instances based on user-defined policies, schedules, and health checks. Use this service in conjunction with the Amazon CloudWatch and Elastic Load Balancing services.

METHODS

AttachInstances(AutoScalingGroupName => Str, [InstanceIds => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::AttachInstances

Returns: nothing

Attaches one or more EC2 instances to the specified Auto Scaling group.

For more information, see Attach Amazon EC2 Instances to Your Existing Auto Scaling Group in the Auto Scaling Developer Guide.

CompleteLifecycleAction(AutoScalingGroupName => Str, LifecycleActionResult => Str, LifecycleActionToken => Str, LifecycleHookName => Str)

Each argument is described in detail in: Paws::AutoScaling::CompleteLifecycleAction

Returns: a Paws::AutoScaling::CompleteLifecycleActionAnswer instance

Completes the lifecycle action for the associated token initiated under the given lifecycle hook with the specified result.

This operation is a part of the basic sequence for adding a lifecycle hook to an Auto Scaling group:

1. Create a notification target. A target can be either an Amazon SQS queue or an Amazon SNS topic.
2. Create an IAM role. This role allows Auto Scaling to publish lifecycle notifications to the designated SQS queue or SNS topic.
3. Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate.
4. If necessary, record the lifecycle action heartbeat to keep the instance in a pending state.
5. Complete the lifecycle action.

For more information, see Auto Scaling Pending State and Auto Scaling Terminating State in the Auto Scaling Developer Guide.

CreateAutoScalingGroup(AutoScalingGroupName => Str, MaxSize => Int, MinSize => Int, [AvailabilityZones => ArrayRef[Str], DefaultCooldown => Int, DesiredCapacity => Int, HealthCheckGracePeriod => Int, HealthCheckType => Str, InstanceId => Str, LaunchConfigurationName => Str, LoadBalancerNames => ArrayRef[Str], PlacementGroup => Str, Tags => ArrayRef[Paws::AutoScaling::Tag], TerminationPolicies => ArrayRef[Str], VPCZoneIdentifier => Str])

Each argument is described in detail in: Paws::AutoScaling::CreateAutoScalingGroup

Returns: nothing

Creates an Auto Scaling group with the specified name and attributes.

If you exceed your maximum limit of Auto Scaling groups, which by default is 20 per region, the call fails. For information about viewing and updating these limits, see DescribeAccountLimits.

CreateLaunchConfiguration(LaunchConfigurationName => Str, [AssociatePublicIpAddress => Bool, BlockDeviceMappings => ArrayRef[Paws::AutoScaling::BlockDeviceMapping], ClassicLinkVPCId => Str, ClassicLinkVPCSecurityGroups => ArrayRef[Str], EbsOptimized => Bool, IamInstanceProfile => Str, ImageId => Str, InstanceId => Str, InstanceMonitoring => Paws::AutoScaling::InstanceMonitoring, InstanceType => Str, KernelId => Str, KeyName => Str, PlacementTenancy => Str, RamdiskId => Str, SecurityGroups => ArrayRef[Str], SpotPrice => Str, UserData => Str])

Each argument is described in detail in: Paws::AutoScaling::CreateLaunchConfiguration

Returns: nothing

Creates a launch configuration.

If you exceed your maximum limit of launch configurations, which by default is 100 per region, the call fails. For information about viewing and updating these limits, see DescribeAccountLimits.

CreateOrUpdateTags(Tags => ArrayRef[Paws::AutoScaling::Tag])

Each argument is described in detail in: Paws::AutoScaling::CreateOrUpdateTags

Returns: nothing

Creates or updates tags for the specified Auto Scaling group.

A tag's definition is composed of a resource ID, resource type, key and value, and the propagate flag. Value and the propagate flag are optional parameters. See the Request Parameters for more information.

For more information, see Add, Modify, or Remove Auto Scaling Group Tags in the Auto Scaling Developer Guide.

DeleteAutoScalingGroup(AutoScalingGroupName => Str, [ForceDelete => Bool])

Each argument is described in detail in: Paws::AutoScaling::DeleteAutoScalingGroup

Returns: nothing

Deletes the specified Auto Scaling group.

The group must have no instances and no scaling activities in progress.

To remove all instances before calling DeleteAutoScalingGroup, you can call UpdateAutoScalingGroup to set the minimum and maximum size of the AutoScalingGroup to zero.

DeleteLaunchConfiguration(LaunchConfigurationName => Str)

Each argument is described in detail in: Paws::AutoScaling::DeleteLaunchConfiguration

Returns: nothing

Deletes the specified launch configuration.

The launch configuration must not be attached to an Auto Scaling group. When this call completes, the launch configuration is no longer available for use.

DeleteLifecycleHook(AutoScalingGroupName => Str, LifecycleHookName => Str)

Each argument is described in detail in: Paws::AutoScaling::DeleteLifecycleHook

Returns: a Paws::AutoScaling::DeleteLifecycleHookAnswer instance

Deletes the specified lifecycle hook.

If there are any outstanding lifecycle actions, they are completed first (ABANDON for launching instances, CONTINUE for terminating instances).

DeleteNotificationConfiguration(AutoScalingGroupName => Str, TopicARN => Str)

Each argument is described in detail in: Paws::AutoScaling::DeleteNotificationConfiguration

Returns: nothing

Deletes the specified notification.

DeletePolicy(PolicyName => Str, [AutoScalingGroupName => Str])

Each argument is described in detail in: Paws::AutoScaling::DeletePolicy

Returns: nothing

Deletes the specified Auto Scaling policy.

DeleteScheduledAction(ScheduledActionName => Str, [AutoScalingGroupName => Str])

Each argument is described in detail in: Paws::AutoScaling::DeleteScheduledAction

Returns: nothing

Deletes the specified scheduled action.

DeleteTags(Tags => ArrayRef[Paws::AutoScaling::Tag])

Each argument is described in detail in: Paws::AutoScaling::DeleteTags

Returns: nothing

Deletes the specified tags.

DescribeAccountLimits( => )

Each argument is described in detail in: Paws::AutoScaling::DescribeAccountLimits

Returns: a Paws::AutoScaling::DescribeAccountLimitsAnswer instance

Describes the current Auto Scaling resource limits for your AWS account.

For information about requesting an increase in these limits, see AWS Service Limits.

DescribeAdjustmentTypes( => )

Each argument is described in detail in: Paws::AutoScaling::DescribeAdjustmentTypes

Returns: a Paws::AutoScaling::DescribeAdjustmentTypesAnswer instance

Lists the policy adjustment types for use with PutScalingPolicy.

DescribeAutoScalingGroups([AutoScalingGroupNames => ArrayRef[Str], MaxRecords => Int, NextToken => Str])

Each argument is described in detail in: Paws::AutoScaling::DescribeAutoScalingGroups

Returns: a Paws::AutoScaling::AutoScalingGroupsType instance

Describes one or more Auto Scaling groups. If a list of names is not provided, the call describes all Auto Scaling groups.

You can specify a maximum number of items to be returned with a single call. If there are more items to return, the call returns a token. To get the next set of items, repeat the call with the returned token in the NextToken parameter.

DescribeAutoScalingInstances([InstanceIds => ArrayRef[Str], MaxRecords => Int, NextToken => Str])

Each argument is described in detail in: Paws::AutoScaling::DescribeAutoScalingInstances

Returns: a Paws::AutoScaling::AutoScalingInstancesType instance

Describes one or more Auto Scaling instances. If a list is not provided, the call describes all instances.

You can describe up to a maximum of 50 instances with a single call. By default, a call returns up to 20 instances. If there are more items to return, the call returns a token. To get the next set of items, repeat the call with the returned token in the NextToken parameter.

DescribeAutoScalingNotificationTypes( => )

Each argument is described in detail in: Paws::AutoScaling::DescribeAutoScalingNotificationTypes

Returns: a Paws::AutoScaling::DescribeAutoScalingNotificationTypesAnswer instance

Lists the notification types that are supported by Auto Scaling.

DescribeLaunchConfigurations([LaunchConfigurationNames => ArrayRef[Str], MaxRecords => Int, NextToken => Str])

Each argument is described in detail in: Paws::AutoScaling::DescribeLaunchConfigurations

Returns: a Paws::AutoScaling::LaunchConfigurationsType instance

Describes one or more launch configurations. If you omit the list of names, then the call describes all launch configurations.

You can specify a maximum number of items to be returned with a single call. If there are more items to return, the call returns a token. To get the next set of items, repeat the call with the returned token in the NextToken parameter.

DescribeLifecycleHooks(AutoScalingGroupName => Str, [LifecycleHookNames => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::DescribeLifecycleHooks

Returns: a Paws::AutoScaling::DescribeLifecycleHooksAnswer instance

Describes the lifecycle hooks for the specified Auto Scaling group.

DescribeLifecycleHookTypes( => )

Each argument is described in detail in: Paws::AutoScaling::DescribeLifecycleHookTypes

Returns: a Paws::AutoScaling::DescribeLifecycleHookTypesAnswer instance

Describes the available types of lifecycle hooks.

DescribeMetricCollectionTypes( => )

Each argument is described in detail in: Paws::AutoScaling::DescribeMetricCollectionTypes

Returns: a Paws::AutoScaling::DescribeMetricCollectionTypesAnswer instance

Returns a list of metrics and a corresponding list of granularities for each metric.

The GroupStandbyInstances metric is not returned by default. You must explicitly request it when calling EnableMetricsCollection.

DescribeNotificationConfigurations([AutoScalingGroupNames => ArrayRef[Str], MaxRecords => Int, NextToken => Str])

Each argument is described in detail in: Paws::AutoScaling::DescribeNotificationConfigurations

Returns: a Paws::AutoScaling::DescribeNotificationConfigurationsAnswer instance

Describes the notification actions associated with the specified Auto Scaling group.

DescribePolicies([AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str, PolicyNames => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::DescribePolicies

Returns: a Paws::AutoScaling::PoliciesType instance

Describes the policies for the specified Auto Scaling group.

You can specify a maximum number of items to be returned with a single call. If there are more items to return, the call returns a token. To get the next set of items, repeat the call with the returned token in the NextToken parameter.

DescribeScalingActivities([ActivityIds => ArrayRef[Str], AutoScalingGroupName => Str, MaxRecords => Int, NextToken => Str])

Each argument is described in detail in: Paws::AutoScaling::DescribeScalingActivities

Returns: a Paws::AutoScaling::ActivitiesType instance

Describes one or more scaling activities for the specified Auto Scaling group. If you omit the ActivityIds, the call returns all activities from the past six weeks. Activities are sorted by the start time. Activities still in progress appear first on the list.

You can specify a maximum number of items to be returned with a single call. If there are more items to return, the call returns a token. To get the next set of items, repeat the call with the returned token in the NextToken parameter.

DescribeScalingProcessTypes( => )

Each argument is described in detail in: Paws::AutoScaling::DescribeScalingProcessTypes

Returns: a Paws::AutoScaling::ProcessesType instance

Returns scaling process types for use in the ResumeProcesses and SuspendProcesses actions.

DescribeScheduledActions([AutoScalingGroupName => Str, EndTime => Str, MaxRecords => Int, NextToken => Str, ScheduledActionNames => ArrayRef[Str], StartTime => Str])

Each argument is described in detail in: Paws::AutoScaling::DescribeScheduledActions

Returns: a Paws::AutoScaling::ScheduledActionsType instance

Lists the actions scheduled for your Auto Scaling group that haven't been executed. To list the actions that were already executed, use DescribeScalingActivities.

DescribeTags([Filters => ArrayRef[Paws::AutoScaling::Filter], MaxRecords => Int, NextToken => Str])

Each argument is described in detail in: Paws::AutoScaling::DescribeTags

Returns: a Paws::AutoScaling::TagsType instance

Describes the specified tags.

You can use filters to limit the results. For example, you can query for the tags for a specific Auto Scaling group. You can specify multiple values for a filter. A tag must match at least one of the specified values for it to be included in the results.

You can also specify multiple filters. The result includes information for a particular tag only if it matches all the filters. If there's no match, no special message is returned.

DescribeTerminationPolicyTypes( => )

Each argument is described in detail in: Paws::AutoScaling::DescribeTerminationPolicyTypes

Returns: a Paws::AutoScaling::DescribeTerminationPolicyTypesAnswer instance

Lists the termination policies supported by Auto Scaling.

DetachInstances(AutoScalingGroupName => Str, ShouldDecrementDesiredCapacity => Bool, [InstanceIds => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::DetachInstances

Returns: a Paws::AutoScaling::DetachInstancesAnswer instance

Removes one or more instances from the specified Auto Scaling group. After the instances are detached, you can manage them independently from the rest of the Auto Scaling group.

For more information, see Detach EC2 Instances from Your Auto Scaling Group in the Auto Scaling Developer Guide.

DisableMetricsCollection(AutoScalingGroupName => Str, [Metrics => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::DisableMetricsCollection

Returns: nothing

Disables monitoring of the specified metrics for the specified Auto Scaling group.

EnableMetricsCollection(AutoScalingGroupName => Str, Granularity => Str, [Metrics => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::EnableMetricsCollection

Returns: nothing

Enables monitoring of the specified metrics for the specified Auto Scaling group.

You can only enable metrics collection if InstanceMonitoring in the launch configuration for the group is set to True.

EnterStandby(AutoScalingGroupName => Str, ShouldDecrementDesiredCapacity => Bool, [InstanceIds => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::EnterStandby

Returns: a Paws::AutoScaling::EnterStandbyAnswer instance

Moves the specified instances into Standby mode.

For more information, see Auto Scaling InService State in the Auto Scaling Developer Guide.

ExecutePolicy(PolicyName => Str, [AutoScalingGroupName => Str, HonorCooldown => Bool])

Each argument is described in detail in: Paws::AutoScaling::ExecutePolicy

Returns: nothing

Executes the specified policy.

ExitStandby(AutoScalingGroupName => Str, [InstanceIds => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::ExitStandby

Returns: a Paws::AutoScaling::ExitStandbyAnswer instance

Moves the specified instances out of Standby mode.

For more information, see Auto Scaling InService State in the Auto Scaling Developer Guide.

PutLifecycleHook(AutoScalingGroupName => Str, LifecycleHookName => Str, [DefaultResult => Str, HeartbeatTimeout => Int, LifecycleTransition => Str, NotificationMetadata => Str, NotificationTargetARN => Str, RoleARN => Str])

Each argument is described in detail in: Paws::AutoScaling::PutLifecycleHook

Returns: a Paws::AutoScaling::PutLifecycleHookAnswer instance

Creates or updates a lifecycle hook for the specified Auto Scaling Group.

A lifecycle hook tells Auto Scaling that you want to perform an action on an instance that is not actively in service; for example, either when the instance launches or before the instance terminates.

This operation is a part of the basic sequence for adding a lifecycle hook to an Auto Scaling group:

1. Create a notification target. A target can be either an Amazon SQS queue or an Amazon SNS topic.
2. Create an IAM role. This role allows Auto Scaling to publish lifecycle notifications to the designated SQS queue or SNS topic.
3. Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate.
4. If necessary, record the lifecycle action heartbeat to keep the instance in a pending state.
5. Complete the lifecycle action.

For more information, see Auto Scaling Pending State and Auto Scaling Terminating State in the Auto Scaling Developer Guide.

PutNotificationConfiguration(AutoScalingGroupName => Str, NotificationTypes => ArrayRef[Str], TopicARN => Str)

Each argument is described in detail in: Paws::AutoScaling::PutNotificationConfiguration

Returns: nothing

Configures an Auto Scaling group to send notifications when specified events take place. Subscribers to this topic can have messages for events delivered to an endpoint such as a web server or email address.

For more information see Getting Notifications When Your Auto Scaling Group Changes in the Auto Scaling Developer Guide.

This configuration overwrites an existing configuration.

PutScalingPolicy(AdjustmentType => Str, AutoScalingGroupName => Str, PolicyName => Str, ScalingAdjustment => Int, [Cooldown => Int, MinAdjustmentStep => Int])

Each argument is described in detail in: Paws::AutoScaling::PutScalingPolicy

Returns: a Paws::AutoScaling::PolicyARNType instance

Creates or updates a policy for an Auto Scaling group. To update an existing policy, use the existing policy name and set the parameters you want to change. Any existing parameter not changed in an update to an existing policy is not changed in this update request.

PutScheduledUpdateGroupAction(AutoScalingGroupName => Str, ScheduledActionName => Str, [DesiredCapacity => Int, EndTime => Str, MaxSize => Int, MinSize => Int, Recurrence => Str, StartTime => Str, Time => Str])

Each argument is described in detail in: Paws::AutoScaling::PutScheduledUpdateGroupAction

Returns: nothing

Creates or updates a scheduled scaling action for an Auto Scaling group. When updating a scheduled scaling action, if you leave a parameter unspecified, the corresponding value remains unchanged in the affected Auto Scaling group.

For more information, see Scheduled Scaling in the Auto Scaling Developer Guide.

Auto Scaling supports the date and time expressed in "YYYY-MM-DDThh:mm:ssZ" format in UTC/GMT only.

RecordLifecycleActionHeartbeat(AutoScalingGroupName => Str, LifecycleActionToken => Str, LifecycleHookName => Str)

Each argument is described in detail in: Paws::AutoScaling::RecordLifecycleActionHeartbeat

Returns: a Paws::AutoScaling::RecordLifecycleActionHeartbeatAnswer instance

Records a heartbeat for the lifecycle action associated with a specific token. This extends the timeout by the length of time defined by the HeartbeatTimeout parameter of PutLifecycleHook.

This operation is a part of the basic sequence for adding a lifecycle hook to an Auto Scaling group:

1. Create a notification target. A target can be either an Amazon SQS queue or an Amazon SNS topic.
2. Create an IAM role. This role allows Auto Scaling to publish lifecycle notifications to the designated SQS queue or SNS topic.
3. Create the lifecycle hook. You can create a hook that acts when instances launch or when instances terminate.
4. If necessary, record the lifecycle action heartbeat to keep the instance in a pending state.
5. Complete the lifecycle action.

For more information, see Auto Scaling Pending State and Auto Scaling Terminating State in the Auto Scaling Developer Guide.

ResumeProcesses(AutoScalingGroupName => Str, [ScalingProcesses => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::ResumeProcesses

Returns: nothing

Resumes the specified suspended Auto Scaling processes for the specified Auto Scaling group. To resume specific processes, use the ScalingProcesses parameter. To resume all processes, omit the ScalingProcesses parameter. For more information, see Suspend and Resume Auto Scaling Processes in the Auto Scaling Developer Guide.

SetDesiredCapacity(AutoScalingGroupName => Str, DesiredCapacity => Int, [HonorCooldown => Bool])

Each argument is described in detail in: Paws::AutoScaling::SetDesiredCapacity

Returns: nothing

Sets the size of the specified AutoScalingGroup.

SetInstanceHealth(HealthStatus => Str, InstanceId => Str, [ShouldRespectGracePeriod => Bool])

Each argument is described in detail in: Paws::AutoScaling::SetInstanceHealth

Returns: nothing

Sets the health status of the specified instance.

For more information, see Health Checks in the Auto Scaling Developer Guide.

SuspendProcesses(AutoScalingGroupName => Str, [ScalingProcesses => ArrayRef[Str]])

Each argument is described in detail in: Paws::AutoScaling::SuspendProcesses

Returns: nothing

Suspends the specified Auto Scaling processes for the specified Auto Scaling group. To suspend specific processes, use the ScalingProcesses parameter. To suspend all processes, omit the ScalingProcesses parameter.

Note that if you suspend either the Launch or Terminate process types, it can prevent other process types from functioning properly.

To resume processes that have been suspended, use ResumeProcesses.

For more information, see Suspend and Resume Auto Scaling Processes in the Auto Scaling Developer Guide.

TerminateInstanceInAutoScalingGroup(InstanceId => Str, ShouldDecrementDesiredCapacity => Bool)

Each argument is described in detail in: Paws::AutoScaling::TerminateInstanceInAutoScalingGroup

Returns: a Paws::AutoScaling::ActivityType instance

Terminates the specified instance and optionally adjusts the desired group size.

This call simply makes a termination request. The instances is not terminated immediately.

UpdateAutoScalingGroup(AutoScalingGroupName => Str, [AvailabilityZones => ArrayRef[Str], DefaultCooldown => Int, DesiredCapacity => Int, HealthCheckGracePeriod => Int, HealthCheckType => Str, LaunchConfigurationName => Str, MaxSize => Int, MinSize => Int, PlacementGroup => Str, TerminationPolicies => ArrayRef[Str], VPCZoneIdentifier => Str])

Each argument is described in detail in: Paws::AutoScaling::UpdateAutoScalingGroup

Returns: nothing

Updates the configuration for the specified AutoScalingGroup.

To update an Auto Scaling group with a launch configuration that has the InstanceMonitoring flag set to False, you must first ensure that collection of group metrics is disabled. Otherwise, calls to UpdateAutoScalingGroup will fail. If you have previously enabled group metrics collection, you can disable collection of all group metrics by calling DisableMetricsCollection.

The new settings are registered upon the completion of this call. Any launch configuration settings take effect on any triggers after this call returns. Scaling activities that are currently in progress aren't affected.

  • If a new value is specified for MinSize without specifying the value for DesiredCapacity, and if the new MinSize is larger than the current size of the Auto Scaling group, there will be an implicit call to SetDesiredCapacity to set the group to the new MinSize.

  • If a new value is specified for MaxSize without specifying the value for DesiredCapacity, and the new MaxSize is smaller than the current size of the Auto Scaling group, there will be an implicit call to SetDesiredCapacity to set the group to the new MaxSize.

  • All other optional parameters are left unchanged if not passed in the request.

SEE ALSO

This service class forms part of Paws

BUGS and CONTRIBUTIONS

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