def create_group(options = {})
      resp = @client.create_auto_scaling_group(options)
      AutoScalingGroup.new(
        name: options[:auto_scaling_group_name],
        client: @client
      )
    end
def create_group(options = {})
      resp = @client.create_auto_scaling_group(options)
      AutoScalingGroup.new(
        name: options[:auto_scaling_group_name],
        client: @client
      )
    end
@!group Actions
 @example Request syntax with placeholder values

   autoscalinggroup = auto_scaling.create_group({
     auto_scaling_group_name: "XmlStringMaxLen255", # required
     launch_configuration_name: "ResourceName",
     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",
           },
         ],
       },
       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",
       },
     },
     instance_id: "XmlStringMaxLen19",
     min_size: 1, # required
     max_size: 1, # required
     desired_capacity: 1,
     default_cooldown: 1,
     availability_zones: ["XmlStringMaxLen255"],
     load_balancer_names: ["XmlStringMaxLen255"],
     target_group_arns: ["XmlStringMaxLen511"],
     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,
     lifecycle_hook_specification_list: [
       {
         lifecycle_hook_name: "AsciiStringMaxLen255", # required
         lifecycle_transition: "LifecycleTransition", # required
         notification_metadata: "XmlStringMaxLen1023",
         heartbeat_timeout: 1,
         default_result: "LifecycleActionResult",
         notification_target_arn: "NotificationTargetResourceName",
         role_arn: "ResourceName",
       },
     ],
     tags: [
       {
         resource_id: "XmlString",
         resource_type: "XmlString",
         key: "TagKey", # required
         value: "TagValue",
         propagate_at_launch: false,
       },
     ],
     service_linked_role_arn: "ResourceName",
   })
 @param [Hash] options ({})
 @option options [required, String] :auto_scaling_group_name
   The name of the Auto Scaling group. This name must be unique within
   the scope of your AWS account.
 @option options [String] :launch_configuration_name
   The name of the launch configuration. This parameter, a launch
   template, a mixed instances policy, or an EC2 instance must be
   specified.

   For more information, see [Creating an Auto Scaling Group Using a
   Launch Configuration][1] in the *Amazon EC2 Auto Scaling User Guide*.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg.html
 @option options [Types::LaunchTemplateSpecification] :launch_template
   The launch template to use to launch instances. This parameter, a
   launch configuration, a mixed instances policy, or an EC2 instance
   must be specified.

   For more information, see [Creating an Auto Scaling Group Using a
   Launch Template][1] in the *Amazon EC2 Auto Scaling User Guide*.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template.html
 @option options [Types::MixedInstancesPolicy] :mixed_instances_policy
   The mixed instances policy to use to launch instances. This parameter,
   a launch template, a launch configuration, or an EC2 instance must be
   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
 @option options [String] :instance_id
   The ID of the instance used to create a launch configuration for the
   group. This parameter, a launch configuration, a launch template, or a
   mixed instances policy must be specified.

   When you specify an ID of an instance, Amazon EC2 Auto Scaling creates
   a new launch configuration and associates it with the group. This
   launch configuration derives its attributes from the specified
   instance, except for the block device mapping.

   For more information, see [Create an Auto Scaling Group Using an EC2
   Instance][1] in the *Amazon EC2 Auto Scaling User Guide*.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-from-instance.html
 @option options [required, Integer] :min_size
   The minimum size of the group.
 @option options [required, Integer] :max_size
   The maximum size of the group.
 @option options [Integer] :desired_capacity
   The number of EC2 instances that should be running in the group. 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. If you do not
   specify a desired capacity, the default is the minimum size of the
   group.
 @option options [Integer] :default_cooldown
   The amount of time, in seconds, after a scaling activity completes
   before another scaling activity can start. The default value is `300`.

   For more information, see [Scaling Cooldowns][1] in the *Amazon EC2
   Auto Scaling User Guide*.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html
 @option options [Array<String>] :availability_zones
   One or more Availability Zones for the group. This parameter is
   optional if you specify one or more subnets for `VPCZoneIdentifier`.

   Conditional: If your account supports EC2-Classic and VPC, this
   parameter is required to launch instances into EC2-Classic.
 @option options [Array<String>] :load_balancer_names
   One or more Classic Load Balancers. To specify an Application Load
   Balancer or a Network Load Balancer, use `TargetGroupARNs` instead.

   For more information, see [Using a Load Balancer With an Auto Scaling
   Group][1] in the *Amazon EC2 Auto Scaling User Guide*.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-load-balancer.html
 @option options [Array<String>] :target_group_arns
   The Amazon Resource Names (ARN) of the target groups.
 @option options [String] :health_check_type
   The service to use for the health checks. The valid values are `EC2`
   and `ELB`. The default value is `EC2`. 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.

   For more information, see [Health Checks for Auto Scaling
   Instances][1] in the *Amazon EC2 Auto Scaling User Guide*.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html
 @option options [Integer] :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. During this time, any health check failures for the
   instance are ignored. The default value is `0`.

   For more information, see [Health Checks for Auto Scaling
   Instances][1] in the *Amazon EC2 Auto Scaling User Guide*.

   Conditional: This parameter is required if you are adding an `ELB`
   health check.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/healthcheck.html
 @option options [String] :placement_group
   The name of the 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
 @option options [String] :vpc_zone_identifier
   A comma-separated list of subnet IDs for your virtual private cloud
   (VPC).

   If you specify `VPCZoneIdentifier` with `AvailabilityZones`, the
   subnets that you specify for this parameter must reside in those
   Availability Zones.

   Conditional: If your account supports EC2-Classic and VPC, this
   parameter is required to launch instances into a VPC.
 @option options [Array<String>] :termination_policies
   One or more termination policies used to select the instance to
   terminate. These policies are executed in the order that they are
   listed.

   For more information, see [Controlling Which Instances Auto Scaling
   Terminates 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
 @option options [Boolean] :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 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
 @option options [Array<Types::LifecycleHookSpecification>] :lifecycle_hook_specification_list
   One or more lifecycle hooks.
 @option options [Array<Types::Tag>] :tags
   One or more tags.

   For more information, see [Tagging Auto Scaling Groups and
   Instances][1] in the *Amazon EC2 Auto Scaling User Guide*.



   [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/autoscaling-tagging.html
 @option options [String] :service_linked_role_arn
   The Amazon Resource Name (ARN) of the service-linked role that the
   Auto Scaling group uses to call other AWS services on your behalf. By
   default, Amazon EC2 Auto Scaling uses a service-linked role named
   AWSServiceRoleForAutoScaling, which it creates if it does not exist.
   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 [AutoScalingGroup]