class Aws::AutoScaling::Types::UpdateAutoScalingGroupType

@note When making an API call, you may pass UpdateAutoScalingGroupType

data as a hash:

    {
      auto_scaling_group_name: "XmlStringMaxLen255", # required
      launch_configuration_name: "XmlStringMaxLen255",
      launch_template: {
        launch_template_id: "XmlStringMaxLen255",
        launch_template_name: "LaunchTemplateName",
        version: "XmlStringMaxLen255",
      },
      mixed_instances_policy: {
        launch_template: {
          launch_template_specification: {
            launch_template_id: "XmlStringMaxLen255",
            launch_template_name: "LaunchTemplateName",
            version: "XmlStringMaxLen255",
          },
          overrides: [
            {
              instance_type: "XmlStringMaxLen255",
              weighted_capacity: "XmlStringMaxLen32",
              launch_template_specification: {
                launch_template_id: "XmlStringMaxLen255",
                launch_template_name: "LaunchTemplateName",
                version: "XmlStringMaxLen255",
              },
            },
          ],
        },
        instances_distribution: {
          on_demand_allocation_strategy: "XmlString",
          on_demand_base_capacity: 1,
          on_demand_percentage_above_base_capacity: 1,
          spot_allocation_strategy: "XmlString",
          spot_instance_pools: 1,
          spot_max_price: "MixedInstanceSpotPrice",
        },
      },
      min_size: 1,
      max_size: 1,
      desired_capacity: 1,
      default_cooldown: 1,
      availability_zones: ["XmlStringMaxLen255"],
      health_check_type: "XmlStringMaxLen32",
      health_check_grace_period: 1,
      placement_group: "XmlStringMaxLen255",
      vpc_zone_identifier: "XmlStringMaxLen2047",
      termination_policies: ["XmlStringMaxLen1600"],
      new_instances_protected_from_scale_in: false,
      service_linked_role_arn: "ResourceName",
      max_instance_lifetime: 1,
      capacity_rebalance: false,
      context: "Context",
    }

@!attribute [rw] auto_scaling_group_name

The name of the Auto Scaling group.
@return [String]

@!attribute [rw] launch_configuration_name

The name of the launch configuration. If you specify
`LaunchConfigurationName` in your update request, you can't specify
`LaunchTemplate` or `MixedInstancesPolicy`.
@return [String]

@!attribute [rw] launch_template

The launch template and version to use to specify the updates. If
you specify `LaunchTemplate` in your update request, you can't
specify `LaunchConfigurationName` or `MixedInstancesPolicy`.
@return [Types::LaunchTemplateSpecification]

@!attribute [rw] mixed_instances_policy

An embedded object that specifies a mixed instances policy. When you
make changes to an existing policy, all optional properties are left
unchanged if not specified. For more information, see [Auto Scaling
groups with multiple instance types and purchase options][1] in the
*Amazon EC2 Auto Scaling User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-purchase-options.html
@return [Types::MixedInstancesPolicy]

@!attribute [rw] min_size

The minimum size of the Auto Scaling group.
@return [Integer]

@!attribute [rw] max_size

The maximum size of the Auto Scaling group.

<note markdown="1"> With a mixed instances policy that uses instance weighting, Amazon
EC2 Auto Scaling may need to go above `MaxSize` to meet your
capacity requirements. In this event, Amazon EC2 Auto Scaling will
never go above `MaxSize` by more than your largest instance weight
(weights that define how many units each instance contributes to the
desired capacity of the group).

 </note>
@return [Integer]

@!attribute [rw] desired_capacity

The desired capacity is the initial capacity of the Auto Scaling
group after this operation completes and the capacity it attempts to
maintain. This number must be greater than or equal to the minimum
size of the group and less than or equal to the maximum size of the
group.
@return [Integer]

@!attribute [rw] default_cooldown

The amount of time, in seconds, after a scaling activity completes
before another scaling activity can start. The default value is
`300`. This setting applies when using simple scaling policies, but
not when using other scaling policies or scheduled scaling. For more
information, see [Scaling cooldowns for Amazon EC2 Auto Scaling][1]
in the *Amazon EC2 Auto Scaling User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
@return [Integer]

@!attribute [rw] availability_zones

One or more Availability Zones for the group.
@return [Array<String>]

@!attribute [rw] health_check_type

The service to use for the health checks. The valid values are `EC2`
and `ELB`. If you configure an Auto Scaling group to use `ELB`
health checks, it considers the instance unhealthy if it fails
either the EC2 status checks or the load balancer health checks.
@return [String]

@!attribute [rw] health_check_grace_period

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits
before checking the health status of an EC2 instance that has come
into service. The default value is `0`. For more information, see
[Health check grace period][1] in the *Amazon EC2 Auto Scaling User
Guide*.

Conditional: Required if you are adding an `ELB` health check.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html#health-check-grace-period
@return [Integer]

@!attribute [rw] placement_group

The name of an existing placement group into which to launch your
instances, if any. A placement group is a logical grouping of
instances within a single Availability Zone. You cannot specify
multiple Availability Zones and a placement group. For more
information, see [Placement Groups][1] in the *Amazon EC2 User Guide
for Linux Instances*.

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
@return [String]

@!attribute [rw] vpc_zone_identifier

A comma-separated list of subnet IDs for a virtual private cloud
(VPC). If you specify `VPCZoneIdentifier` with `AvailabilityZones`,
the subnets that you specify for this parameter must reside in those
Availability Zones.
@return [String]

@!attribute [rw] termination_policies

A policy or a list of policies that are used to select the instances
to terminate. The policies are executed in the order that you list
them. For more information, see [Controlling which Auto Scaling
instances terminate during scale in][1] in the *Amazon EC2 Auto
Scaling User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html
@return [Array<String>]

@!attribute [rw] new_instances_protected_from_scale_in

Indicates whether newly launched instances are protected from
termination by Amazon EC2 Auto Scaling when scaling in. For more
information about preventing instances from terminating on scale in,
see [Instance scale-in protection][1] in the *Amazon EC2 Auto
Scaling User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-instance-termination.html#instance-protection
@return [Boolean]

@!attribute [rw] service_linked_role_arn

The Amazon Resource Name (ARN) of the service-linked role that the
Auto Scaling group uses to call other Amazon Web Services on your
behalf. For more information, see [Service-linked roles][1] in the
*Amazon EC2 Auto Scaling User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-service-linked-role.html
@return [String]

@!attribute [rw] max_instance_lifetime

The maximum amount of time, in seconds, that an instance can be in
service. The default is null. If specified, the value must be either
0 or a number equal to or greater than 86,400 seconds (1 day). To
clear a previously set value, specify a new value of 0. For more
information, see [Replacing Auto Scaling instances based on maximum
instance lifetime][1] in the *Amazon EC2 Auto Scaling User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html
@return [Integer]

@!attribute [rw] capacity_rebalance

Enables or disables Capacity Rebalancing. For more information, see
[Amazon EC2 Auto Scaling Capacity Rebalancing][1] in the *Amazon EC2
Auto Scaling User Guide*.

[1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/capacity-rebalance.html
@return [Boolean]

@!attribute [rw] context

Reserved.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/autoscaling-2011-01-01/UpdateAutoScalingGroupType AWS API Documentation

Constants

SENSITIVE