class Aws::GameLift::Types::UpdateGameServerGroupInput

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

data as a hash:

    {
      game_server_group_name: "GameServerGroupNameOrArn", # required
      role_arn: "IamRoleArn",
      instance_definitions: [
        {
          instance_type: "c4.large", # required, accepts c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.12xlarge, c5.18xlarge, c5.24xlarge, c5a.large, c5a.xlarge, c5a.2xlarge, c5a.4xlarge, c5a.8xlarge, c5a.12xlarge, c5a.16xlarge, c5a.24xlarge, r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge, r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.8xlarge, r5.12xlarge, r5.16xlarge, r5.24xlarge, r5a.large, r5a.xlarge, r5a.2xlarge, r5a.4xlarge, r5a.8xlarge, r5a.12xlarge, r5a.16xlarge, r5a.24xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.8xlarge, m5.12xlarge, m5.16xlarge, m5.24xlarge, m5a.large, m5a.xlarge, m5a.2xlarge, m5a.4xlarge, m5a.8xlarge, m5a.12xlarge, m5a.16xlarge, m5a.24xlarge
          weighted_capacity: "WeightedCapacity",
        },
      ],
      game_server_protection_policy: "NO_PROTECTION", # accepts NO_PROTECTION, FULL_PROTECTION
      balancing_strategy: "SPOT_ONLY", # accepts SPOT_ONLY, SPOT_PREFERRED, ON_DEMAND_ONLY
    }

@!attribute [rw] game_server_group_name

A unique identifier for the game server group. Use either the
GameServerGroup name or ARN value.
@return [String]

@!attribute [rw] role_arn

The Amazon Resource Name ([ARN][1]) for an IAM role that allows
Amazon GameLift to access your EC2 Auto Scaling groups.

[1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
@return [String]

@!attribute [rw] instance_definitions

An updated list of EC2 instance types to use in the Auto Scaling
group. The instance definitions must specify at least two different
instance types that are supported by GameLift FleetIQ. This updated
list replaces the entire current list of instance definitions for
the game server group. For more information on instance types, see
[EC2 Instance Types][1] in the *Amazon EC2 User Guide*. You can
optionally specify capacity weighting for each instance type. If no
weight value is specified for an instance type, it is set to the
default value "1". For more information about capacity weighting,
see [ Instance Weighting for Amazon EC2 Auto Scaling][2] in the
Amazon EC2 Auto Scaling User Guide.

[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
[2]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html
@return [Array<Types::InstanceDefinition>]

@!attribute [rw] game_server_protection_policy

A flag that indicates whether instances in the game server group are
protected from early termination. Unprotected instances that have
active game servers running might be terminated during a scale-down
event, causing players to be dropped from the game. Protected
instances cannot be terminated while there are active game servers
running except in the event of a forced game server group deletion
(see ). An exception to this is with Spot Instances, which can be
terminated by AWS regardless of protection status. This property is
set to `NO_PROTECTION` by default.
@return [String]

@!attribute [rw] balancing_strategy

Indicates how GameLift FleetIQ balances the use of Spot Instances
and On-Demand Instances in the game server group. Method options
include the following:

* `SPOT_ONLY` - Only Spot Instances are used in the game server
  group. If Spot Instances are unavailable or not viable for game
  hosting, the game server group provides no hosting capacity until
  Spot Instances can again be used. Until then, no new instances are
  started, and the existing nonviable Spot Instances are terminated
  (after current gameplay ends) and are not replaced.

* `SPOT_PREFERRED` - (default value) Spot Instances are used
  whenever available in the game server group. If Spot Instances are
  unavailable, the game server group continues to provide hosting
  capacity by falling back to On-Demand Instances. Existing
  nonviable Spot Instances are terminated (after current gameplay
  ends) and are replaced with new On-Demand Instances.

* `ON_DEMAND_ONLY` - Only On-Demand Instances are used in the game
  server group. No Spot Instances are used, even when available,
  while this balancing strategy is in force.
@return [String]

@see docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerGroupInput AWS API Documentation

Constants

SENSITIVE