aws-sdk-gamelift 1.28.0 → 1.29.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -35,6 +35,7 @@ module Aws::GameLift
35
35
  # * {InvalidRequestException}
36
36
  # * {LimitExceededException}
37
37
  # * {NotFoundException}
38
+ # * {OutOfCapacityException}
38
39
  # * {TaggingFailedException}
39
40
  # * {TerminalRoutingStrategyException}
40
41
  # * {UnauthorizedException}
@@ -196,6 +197,21 @@ module Aws::GameLift
196
197
  end
197
198
  end
198
199
 
200
+ class OutOfCapacityException < ServiceError
201
+
202
+ # @param [Seahorse::Client::RequestContext] context
203
+ # @param [String] message
204
+ # @param [Aws::GameLift::Types::OutOfCapacityException] data
205
+ def initialize(context, message, data = Aws::EmptyStructure.new)
206
+ super(context, message, data)
207
+ end
208
+
209
+ # @return [String]
210
+ def message
211
+ @message || @data[:message]
212
+ end
213
+ end
214
+
199
215
  class TaggingFailedException < ServiceError
200
216
 
201
217
  # @param [Seahorse::Client::RequestContext] context
@@ -6,13 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::GameLift
9
- # This class provides a resource oriented interface for GameLift.
10
- # To create a resource object:
11
- # resource = Aws::GameLift::Resource.new(region: 'us-west-2')
12
- # You can supply a client object with custom configuration that will be used for all resource operations.
13
- # If you do not pass +:client+, a default client will be constructed.
14
- # client = Aws::GameLift::Client.new(region: 'us-west-2')
15
- # resource = Aws::GameLift::Resource.new(client: client)
9
+
16
10
  class Resource
17
11
 
18
12
  # @param options ({})
@@ -73,7 +73,7 @@ module Aws::GameLift
73
73
  # @!attribute [rw] alias_arn
74
74
  # Amazon Resource Name ([ARN][1]) that is assigned to a GameLift alias
75
75
  # resource and uniquely identifies it. ARNs are unique across all
76
- # Regions.. In a GameLift alias ARN, the resource ID matches the alias
76
+ # Regions. In a GameLift alias ARN, the resource ID matches the alias
77
77
  # ID value.
78
78
  #
79
79
  #
@@ -308,6 +308,54 @@ module Aws::GameLift
308
308
  include Aws::Structure
309
309
  end
310
310
 
311
+ # @note When making an API call, you may pass ClaimGameServerInput
312
+ # data as a hash:
313
+ #
314
+ # {
315
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
316
+ # game_server_id: "GameServerId",
317
+ # game_server_data: "GameServerData",
318
+ # }
319
+ #
320
+ # @!attribute [rw] game_server_group_name
321
+ # An identifier for the game server group. When claiming a specific
322
+ # game server, this is the game server group whether the game server
323
+ # is located. When requesting that GameLift FleetIQ locate an
324
+ # available game server, this is the game server group to search on.
325
+ # You can use either the GameServerGroup name or ARN value.
326
+ # @return [String]
327
+ #
328
+ # @!attribute [rw] game_server_id
329
+ # A custom string that uniquely identifies the game server to claim.
330
+ # If this parameter is left empty, GameLift FleetIQ searches for an
331
+ # available game server in the specified game server group.
332
+ # @return [String]
333
+ #
334
+ # @!attribute [rw] game_server_data
335
+ # A set of custom game server properties, formatted as a single string
336
+ # value, to be passed to the claimed game server.
337
+ # @return [String]
338
+ #
339
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ClaimGameServerInput AWS API Documentation
340
+ #
341
+ class ClaimGameServerInput < Struct.new(
342
+ :game_server_group_name,
343
+ :game_server_id,
344
+ :game_server_data)
345
+ include Aws::Structure
346
+ end
347
+
348
+ # @!attribute [rw] game_server
349
+ # Object that describes the newly claimed game server resource.
350
+ # @return [Types::GameServer]
351
+ #
352
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ClaimGameServerOutput AWS API Documentation
353
+ #
354
+ class ClaimGameServerOutput < Struct.new(
355
+ :game_server)
356
+ include Aws::Structure
357
+ end
358
+
311
359
  # The requested operation would cause a conflict with the current state
312
360
  # of a service resource associated with the request. Resolve the
313
361
  # conflict before retrying this request.
@@ -432,12 +480,11 @@ module Aws::GameLift
432
480
  #
433
481
  # @!attribute [rw] storage_location
434
482
  # Information indicating where your game build files are stored. Use
435
- # this parameter only when creating a build with files stored in an
436
- # Amazon S3 bucket that you own. The storage location must specify an
437
- # Amazon S3 bucket name and key. The location must also specify a role
438
- # ARN that you set up to allow Amazon GameLift to access your Amazon
439
- # S3 bucket. The S3 bucket and your new build must be in the same
440
- # Region.
483
+ # this parameter only when creating a build with files stored in an S3
484
+ # bucket that you own. The storage location must specify an S3 bucket
485
+ # name and key. The location must also specify a role ARN that you set
486
+ # up to allow Amazon GameLift to access your S3 bucket. The S3 bucket
487
+ # and your new build must be in the same Region.
441
488
  # @return [Types::S3Location]
442
489
  #
443
490
  # @!attribute [rw] operating_system
@@ -479,16 +526,16 @@ module Aws::GameLift
479
526
  # Represents the returned data in response to a request action.
480
527
  #
481
528
  # @!attribute [rw] build
482
- # The newly created build record, including a unique build IDs and
529
+ # The newly created build resource, including a unique build IDs and
483
530
  # status.
484
531
  # @return [Types::Build]
485
532
  #
486
533
  # @!attribute [rw] upload_credentials
487
534
  # This element is returned only when the operation is called without a
488
535
  # storage location. It contains credentials to use when you are
489
- # uploading a build file to an Amazon S3 bucket that is owned by
490
- # Amazon GameLift. Credentials have a limited life span. To refresh
491
- # these credentials, call RequestUploadCredentials.
536
+ # uploading a build file to an S3 bucket that is owned by Amazon
537
+ # GameLift. Credentials have a limited life span. To refresh these
538
+ # credentials, call RequestUploadCredentials.
492
539
  # @return [Types::AwsCredentials]
493
540
  #
494
541
  # @!attribute [rw] storage_location
@@ -513,8 +560,8 @@ module Aws::GameLift
513
560
  # {
514
561
  # name: "NonZeroAndMaxString", # required
515
562
  # description: "NonZeroAndMaxString",
516
- # build_id: "BuildId",
517
- # script_id: "ScriptId",
563
+ # build_id: "BuildIdOrArn",
564
+ # script_id: "ScriptIdOrArn",
518
565
  # server_launch_path: "NonZeroAndMaxString",
519
566
  # server_launch_parameters: "NonZeroAndMaxString",
520
567
  # log_paths: ["NonZeroAndMaxString"],
@@ -803,14 +850,199 @@ module Aws::GameLift
803
850
  include Aws::Structure
804
851
  end
805
852
 
853
+ # @note When making an API call, you may pass CreateGameServerGroupInput
854
+ # data as a hash:
855
+ #
856
+ # {
857
+ # game_server_group_name: "GameServerGroupName", # required
858
+ # role_arn: "IamRoleArn", # required
859
+ # min_size: 1, # required
860
+ # max_size: 1, # required
861
+ # launch_template: { # required
862
+ # launch_template_id: "LaunchTemplateId",
863
+ # launch_template_name: "LaunchTemplateName",
864
+ # version: "LaunchTemplateVersion",
865
+ # },
866
+ # instance_definitions: [ # required
867
+ # {
868
+ # 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, 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, 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
869
+ # weighted_capacity: "WeightedCapacity",
870
+ # },
871
+ # ],
872
+ # auto_scaling_policy: {
873
+ # estimated_instance_warmup: 1,
874
+ # target_tracking_configuration: { # required
875
+ # target_value: 1.0, # required
876
+ # },
877
+ # },
878
+ # balancing_strategy: "SPOT_ONLY", # accepts SPOT_ONLY, SPOT_PREFERRED
879
+ # game_server_protection_policy: "NO_PROTECTION", # accepts NO_PROTECTION, FULL_PROTECTION
880
+ # vpc_subnets: ["VpcSubnet"],
881
+ # tags: [
882
+ # {
883
+ # key: "TagKey", # required
884
+ # value: "TagValue", # required
885
+ # },
886
+ # ],
887
+ # }
888
+ #
889
+ # @!attribute [rw] game_server_group_name
890
+ # An identifier for the new game server group. This value is used to
891
+ # generate unique ARN identifiers for the EC2 Auto Scaling group and
892
+ # the GameLift FleetIQ game server group. The name must be unique per
893
+ # Region per AWS account.
894
+ # @return [String]
895
+ #
896
+ # @!attribute [rw] role_arn
897
+ # The Amazon Resource Name ([ARN][1]) for an IAM role that allows
898
+ # Amazon GameLift to access your EC2 Auto Scaling groups. The
899
+ # submitted role is validated to ensure that it contains the necessary
900
+ # permissions for game server groups.
901
+ #
902
+ #
903
+ #
904
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
905
+ # @return [String]
906
+ #
907
+ # @!attribute [rw] min_size
908
+ # The minimum number of instances allowed in the EC2 Auto Scaling
909
+ # group. During autoscaling events, GameLift FleetIQ and EC2 do not
910
+ # scale down the group below this minimum. In production, this value
911
+ # should be set to at least 1.
912
+ # @return [Integer]
913
+ #
914
+ # @!attribute [rw] max_size
915
+ # The maximum number of instances allowed in the EC2 Auto Scaling
916
+ # group. During autoscaling events, GameLift FleetIQ and EC2 do not
917
+ # scale up the group above this maximum.
918
+ # @return [Integer]
919
+ #
920
+ # @!attribute [rw] launch_template
921
+ # The EC2 launch template that contains configuration settings and
922
+ # game server code to be deployed to all instances in the game server
923
+ # group. You can specify the template using either the template name
924
+ # or ID. For help with creating a launch template, see [Creating a
925
+ # Launch Template for an Auto Scaling Group][1] in the *Amazon EC2
926
+ # Auto Scaling User Guide*.
927
+ #
928
+ #
929
+ #
930
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html
931
+ # @return [Types::LaunchTemplateSpecification]
932
+ #
933
+ # @!attribute [rw] instance_definitions
934
+ # A set of EC2 instance types to use when creating instances in the
935
+ # group. The instance definitions must specify at least two different
936
+ # instance types that are supported by GameLift FleetIQ. For more
937
+ # information on instance types, see [EC2 Instance Types][1] in the
938
+ # *Amazon EC2 User Guide*.
939
+ #
940
+ #
941
+ #
942
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
943
+ # @return [Array<Types::InstanceDefinition>]
944
+ #
945
+ # @!attribute [rw] auto_scaling_policy
946
+ # Configuration settings to define a scaling policy for the Auto
947
+ # Scaling group that is optimized for game hosting. The scaling policy
948
+ # uses the metric "PercentUtilizedGameServers" to maintain a buffer
949
+ # of idle game servers that can immediately accommodate new games and
950
+ # players. Once the game server and Auto Scaling groups are created,
951
+ # you can update the scaling policy settings directly in Auto Scaling
952
+ # Groups.
953
+ # @return [Types::GameServerGroupAutoScalingPolicy]
954
+ #
955
+ # @!attribute [rw] balancing_strategy
956
+ # The fallback balancing method to use for the game server group when
957
+ # Spot instances in a Region become unavailable or are not viable for
958
+ # game hosting. Once triggered, this method remains active until Spot
959
+ # instances can once again be used. Method options include:
960
+ #
961
+ # * SPOT\_ONLY -- If Spot instances are unavailable, the game server
962
+ # group provides no hosting capacity. No new instances are started,
963
+ # and the existing nonviable Spot instances are terminated (once
964
+ # current gameplay ends) and not replaced.
965
+ #
966
+ # * SPOT\_PREFERRED -- If Spot instances are unavailable, the game
967
+ # server group continues to provide hosting capacity by using
968
+ # On-Demand instances. Existing nonviable Spot instances are
969
+ # terminated (once current gameplay ends) and replaced with new
970
+ # On-Demand instances.
971
+ # @return [String]
972
+ #
973
+ # @!attribute [rw] game_server_protection_policy
974
+ # A flag that indicates whether instances in the game server group are
975
+ # protected from early termination. Unprotected instances that have
976
+ # active game servers running may by terminated during a scale-down
977
+ # event, causing players to be dropped from the game. Protected
978
+ # instances cannot be terminated while there are active game servers
979
+ # running. An exception to this is Spot Instances, which may be
980
+ # terminated by AWS regardless of protection status. This property is
981
+ # set to NO\_PROTECTION by default.
982
+ # @return [String]
983
+ #
984
+ # @!attribute [rw] vpc_subnets
985
+ # A list of virtual private cloud (VPC) subnets to use with instances
986
+ # in the game server group. By default, all GameLift FleetIQ-supported
987
+ # availability zones are used; this parameter allows you to specify
988
+ # VPCs that you've set up.
989
+ # @return [Array<String>]
990
+ #
991
+ # @!attribute [rw] tags
992
+ # A list of labels to assign to the new game server group resource.
993
+ # Tags are developer-defined key-value pairs. Tagging AWS resources
994
+ # are useful for resource management, access management, and cost
995
+ # allocation. For more information, see [ Tagging AWS Resources][1] in
996
+ # the *AWS General Reference*. Once the resource is created, you can
997
+ # use TagResource, UntagResource, and ListTagsForResource to add,
998
+ # remove, and view tags. The maximum tag limit may be lower than
999
+ # stated. See the AWS General Reference for actual tagging limits.
1000
+ #
1001
+ #
1002
+ #
1003
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1004
+ # @return [Array<Types::Tag>]
1005
+ #
1006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameServerGroupInput AWS API Documentation
1007
+ #
1008
+ class CreateGameServerGroupInput < Struct.new(
1009
+ :game_server_group_name,
1010
+ :role_arn,
1011
+ :min_size,
1012
+ :max_size,
1013
+ :launch_template,
1014
+ :instance_definitions,
1015
+ :auto_scaling_policy,
1016
+ :balancing_strategy,
1017
+ :game_server_protection_policy,
1018
+ :vpc_subnets,
1019
+ :tags)
1020
+ include Aws::Structure
1021
+ end
1022
+
1023
+ # @!attribute [rw] game_server_group
1024
+ # The newly created game server group object, including the new ARN
1025
+ # value for the GameLift FleetIQ game server group and the object's
1026
+ # status. The EC2 Auto Scaling group ARN is initially null, since the
1027
+ # group has not yet been created. This value is added once the game
1028
+ # server group status reaches ACTIVE.
1029
+ # @return [Types::GameServerGroup]
1030
+ #
1031
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameServerGroupOutput AWS API Documentation
1032
+ #
1033
+ class CreateGameServerGroupOutput < Struct.new(
1034
+ :game_server_group)
1035
+ include Aws::Structure
1036
+ end
1037
+
806
1038
  # Represents the input for a request action.
807
1039
  #
808
1040
  # @note When making an API call, you may pass CreateGameSessionInput
809
1041
  # data as a hash:
810
1042
  #
811
1043
  # {
812
- # fleet_id: "FleetId",
813
- # alias_id: "AliasId",
1044
+ # fleet_id: "FleetIdOrArn",
1045
+ # alias_id: "AliasIdOrArn",
814
1046
  # maximum_player_session_count: 1, # required
815
1047
  # name: "NonZeroAndMaxString",
816
1048
  # game_properties: [
@@ -1581,7 +1813,7 @@ module Aws::GameLift
1581
1813
  # data as a hash:
1582
1814
  #
1583
1815
  # {
1584
- # alias_id: "AliasId", # required
1816
+ # alias_id: "AliasIdOrArn", # required
1585
1817
  # }
1586
1818
  #
1587
1819
  # @!attribute [rw] alias_id
@@ -1602,7 +1834,7 @@ module Aws::GameLift
1602
1834
  # data as a hash:
1603
1835
  #
1604
1836
  # {
1605
- # build_id: "BuildId", # required
1837
+ # build_id: "BuildIdOrArn", # required
1606
1838
  # }
1607
1839
  #
1608
1840
  # @!attribute [rw] build_id
@@ -1623,7 +1855,7 @@ module Aws::GameLift
1623
1855
  # data as a hash:
1624
1856
  #
1625
1857
  # {
1626
- # fleet_id: "FleetId", # required
1858
+ # fleet_id: "FleetIdOrArn", # required
1627
1859
  # }
1628
1860
  #
1629
1861
  # @!attribute [rw] fleet_id
@@ -1638,13 +1870,61 @@ module Aws::GameLift
1638
1870
  include Aws::Structure
1639
1871
  end
1640
1872
 
1873
+ # @note When making an API call, you may pass DeleteGameServerGroupInput
1874
+ # data as a hash:
1875
+ #
1876
+ # {
1877
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
1878
+ # delete_option: "SAFE_DELETE", # accepts SAFE_DELETE, FORCE_DELETE, RETAIN
1879
+ # }
1880
+ #
1881
+ # @!attribute [rw] game_server_group_name
1882
+ # The unique identifier of the game server group to delete. Use either
1883
+ # the GameServerGroup name or ARN value.
1884
+ # @return [String]
1885
+ #
1886
+ # @!attribute [rw] delete_option
1887
+ # The type of delete to perform. Options include:
1888
+ #
1889
+ # * SAFE\_DELETE – Terminates the game server group and EC2 Auto
1890
+ # Scaling group only when it has no game servers that are in IN\_USE
1891
+ # status.
1892
+ #
1893
+ # * FORCE\_DELETE – Terminates the game server group, including all
1894
+ # active game servers regardless of their utilization status, and
1895
+ # the EC2 Auto Scaling group.
1896
+ #
1897
+ # * RETAIN – Does a safe delete of the game server group but retains
1898
+ # the EC2 Auto Scaling group as is.
1899
+ # @return [String]
1900
+ #
1901
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameServerGroupInput AWS API Documentation
1902
+ #
1903
+ class DeleteGameServerGroupInput < Struct.new(
1904
+ :game_server_group_name,
1905
+ :delete_option)
1906
+ include Aws::Structure
1907
+ end
1908
+
1909
+ # @!attribute [rw] game_server_group
1910
+ # An object that describes the deleted game server group resource,
1911
+ # with status updated to DELETE\_SCHEDULED.
1912
+ # @return [Types::GameServerGroup]
1913
+ #
1914
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeleteGameServerGroupOutput AWS API Documentation
1915
+ #
1916
+ class DeleteGameServerGroupOutput < Struct.new(
1917
+ :game_server_group)
1918
+ include Aws::Structure
1919
+ end
1920
+
1641
1921
  # Represents the input for a request action.
1642
1922
  #
1643
1923
  # @note When making an API call, you may pass DeleteGameSessionQueueInput
1644
1924
  # data as a hash:
1645
1925
  #
1646
1926
  # {
1647
- # name: "GameSessionQueueName", # required
1927
+ # name: "GameSessionQueueNameOrArn", # required
1648
1928
  # }
1649
1929
  #
1650
1930
  # @!attribute [rw] name
@@ -1725,7 +2005,7 @@ module Aws::GameLift
1725
2005
  #
1726
2006
  # {
1727
2007
  # name: "NonZeroAndMaxString", # required
1728
- # fleet_id: "FleetId", # required
2008
+ # fleet_id: "FleetIdOrArn", # required
1729
2009
  # }
1730
2010
  #
1731
2011
  # @!attribute [rw] name
@@ -1750,7 +2030,7 @@ module Aws::GameLift
1750
2030
  # data as a hash:
1751
2031
  #
1752
2032
  # {
1753
- # script_id: "ScriptId", # required
2033
+ # script_id: "ScriptIdOrArn", # required
1754
2034
  # }
1755
2035
  #
1756
2036
  # @!attribute [rw] script_id
@@ -1840,13 +2120,39 @@ module Aws::GameLift
1840
2120
  #
1841
2121
  class DeleteVpcPeeringConnectionOutput < Aws::EmptyStructure; end
1842
2122
 
2123
+ # @note When making an API call, you may pass DeregisterGameServerInput
2124
+ # data as a hash:
2125
+ #
2126
+ # {
2127
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
2128
+ # game_server_id: "GameServerId", # required
2129
+ # }
2130
+ #
2131
+ # @!attribute [rw] game_server_group_name
2132
+ # An identifier for the game server group where the game server to be
2133
+ # de-registered is running. Use either the GameServerGroup name or ARN
2134
+ # value.
2135
+ # @return [String]
2136
+ #
2137
+ # @!attribute [rw] game_server_id
2138
+ # The identifier for the game server to be de-registered.
2139
+ # @return [String]
2140
+ #
2141
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DeregisterGameServerInput AWS API Documentation
2142
+ #
2143
+ class DeregisterGameServerInput < Struct.new(
2144
+ :game_server_group_name,
2145
+ :game_server_id)
2146
+ include Aws::Structure
2147
+ end
2148
+
1843
2149
  # Represents the input for a request action.
1844
2150
  #
1845
2151
  # @note When making an API call, you may pass DescribeAliasInput
1846
2152
  # data as a hash:
1847
2153
  #
1848
2154
  # {
1849
- # alias_id: "AliasId", # required
2155
+ # alias_id: "AliasIdOrArn", # required
1850
2156
  # }
1851
2157
  #
1852
2158
  # @!attribute [rw] alias_id
@@ -1880,7 +2186,7 @@ module Aws::GameLift
1880
2186
  # data as a hash:
1881
2187
  #
1882
2188
  # {
1883
- # build_id: "BuildId", # required
2189
+ # build_id: "BuildIdOrArn", # required
1884
2190
  # }
1885
2191
  #
1886
2192
  # @!attribute [rw] build_id
@@ -1957,14 +2263,17 @@ module Aws::GameLift
1957
2263
  # data as a hash:
1958
2264
  #
1959
2265
  # {
1960
- # fleet_ids: ["FleetId"],
2266
+ # fleet_ids: ["FleetIdOrArn"],
1961
2267
  # limit: 1,
1962
2268
  # next_token: "NonZeroAndMaxString",
1963
2269
  # }
1964
2270
  #
1965
2271
  # @!attribute [rw] fleet_ids
1966
- # A unique identifier for a fleet(s) to retrieve attributes for. You
1967
- # can use either the fleet ID or ARN value.
2272
+ # A list of unique fleet identifiers to retrieve attributes for. You
2273
+ # can use either the fleet ID or ARN value. To retrieve attributes for
2274
+ # all current fleets, do not include this parameter. If the list of
2275
+ # fleet identifiers includes fleets that don't currently exist, the
2276
+ # request succeeds but no attributes for that fleet are returned.
1968
2277
  # @return [Array<String>]
1969
2278
  #
1970
2279
  # @!attribute [rw] limit
@@ -1995,7 +2304,8 @@ module Aws::GameLift
1995
2304
  #
1996
2305
  # @!attribute [rw] fleet_attributes
1997
2306
  # A collection of objects containing attribute metadata for each
1998
- # requested fleet ID.
2307
+ # requested fleet ID. Attribute objects are returned only for fleets
2308
+ # that currently exist.
1999
2309
  # @return [Array<Types::FleetAttributes>]
2000
2310
  #
2001
2311
  # @!attribute [rw] next_token
@@ -2018,7 +2328,7 @@ module Aws::GameLift
2018
2328
  # data as a hash:
2019
2329
  #
2020
2330
  # {
2021
- # fleet_ids: ["FleetId"],
2331
+ # fleet_ids: ["FleetIdOrArn"],
2022
2332
  # limit: 1,
2023
2333
  # next_token: "NonZeroAndMaxString",
2024
2334
  # }
@@ -2080,7 +2390,7 @@ module Aws::GameLift
2080
2390
  # data as a hash:
2081
2391
  #
2082
2392
  # {
2083
- # fleet_id: "FleetId", # required
2393
+ # fleet_id: "FleetIdOrArn", # required
2084
2394
  # start_time: Time.now,
2085
2395
  # end_time: Time.now,
2086
2396
  # limit: 1,
@@ -2156,7 +2466,7 @@ module Aws::GameLift
2156
2466
  # data as a hash:
2157
2467
  #
2158
2468
  # {
2159
- # fleet_id: "FleetId", # required
2469
+ # fleet_id: "FleetIdOrArn", # required
2160
2470
  # }
2161
2471
  #
2162
2472
  # @!attribute [rw] fleet_id
@@ -2190,14 +2500,17 @@ module Aws::GameLift
2190
2500
  # data as a hash:
2191
2501
  #
2192
2502
  # {
2193
- # fleet_ids: ["FleetId"],
2503
+ # fleet_ids: ["FleetIdOrArn"],
2194
2504
  # limit: 1,
2195
2505
  # next_token: "NonZeroAndMaxString",
2196
2506
  # }
2197
2507
  #
2198
2508
  # @!attribute [rw] fleet_ids
2199
2509
  # A unique identifier for a fleet(s) to retrieve utilization data for.
2200
- # You can use either the fleet ID or ARN value.
2510
+ # You can use either the fleet ID or ARN value. To retrieve attributes
2511
+ # for all current fleets, do not include this parameter. If the list
2512
+ # of fleet identifiers includes fleets that don't currently exist,
2513
+ # the request succeeds but no attributes for that fleet are returned.
2201
2514
  # @return [Array<String>]
2202
2515
  #
2203
2516
  # @!attribute [rw] limit
@@ -2245,15 +2558,81 @@ module Aws::GameLift
2245
2558
  include Aws::Structure
2246
2559
  end
2247
2560
 
2561
+ # @note When making an API call, you may pass DescribeGameServerGroupInput
2562
+ # data as a hash:
2563
+ #
2564
+ # {
2565
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
2566
+ # }
2567
+ #
2568
+ # @!attribute [rw] game_server_group_name
2569
+ # The unique identifier for the game server group being requested. Use
2570
+ # either the GameServerGroup name or ARN value.
2571
+ # @return [String]
2572
+ #
2573
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerGroupInput AWS API Documentation
2574
+ #
2575
+ class DescribeGameServerGroupInput < Struct.new(
2576
+ :game_server_group_name)
2577
+ include Aws::Structure
2578
+ end
2579
+
2580
+ # @!attribute [rw] game_server_group
2581
+ # An object that describes the requested game server group resource.
2582
+ # @return [Types::GameServerGroup]
2583
+ #
2584
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerGroupOutput AWS API Documentation
2585
+ #
2586
+ class DescribeGameServerGroupOutput < Struct.new(
2587
+ :game_server_group)
2588
+ include Aws::Structure
2589
+ end
2590
+
2591
+ # @note When making an API call, you may pass DescribeGameServerInput
2592
+ # data as a hash:
2593
+ #
2594
+ # {
2595
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
2596
+ # game_server_id: "GameServerId", # required
2597
+ # }
2598
+ #
2599
+ # @!attribute [rw] game_server_group_name
2600
+ # An identifier for the game server group where the game server is
2601
+ # running. Use either the GameServerGroup name or ARN value.
2602
+ # @return [String]
2603
+ #
2604
+ # @!attribute [rw] game_server_id
2605
+ # The identifier for the game server to be retrieved.
2606
+ # @return [String]
2607
+ #
2608
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerInput AWS API Documentation
2609
+ #
2610
+ class DescribeGameServerInput < Struct.new(
2611
+ :game_server_group_name,
2612
+ :game_server_id)
2613
+ include Aws::Structure
2614
+ end
2615
+
2616
+ # @!attribute [rw] game_server
2617
+ # Object that describes the requested game server resource.
2618
+ # @return [Types::GameServer]
2619
+ #
2620
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameServerOutput AWS API Documentation
2621
+ #
2622
+ class DescribeGameServerOutput < Struct.new(
2623
+ :game_server)
2624
+ include Aws::Structure
2625
+ end
2626
+
2248
2627
  # Represents the input for a request action.
2249
2628
  #
2250
2629
  # @note When making an API call, you may pass DescribeGameSessionDetailsInput
2251
2630
  # data as a hash:
2252
2631
  #
2253
2632
  # {
2254
- # fleet_id: "FleetId",
2633
+ # fleet_id: "FleetIdOrArn",
2255
2634
  # game_session_id: "ArnStringModel",
2256
- # alias_id: "AliasId",
2635
+ # alias_id: "AliasIdOrArn",
2257
2636
  # status_filter: "NonZeroAndMaxString",
2258
2637
  # limit: 1,
2259
2638
  # next_token: "NonZeroAndMaxString",
@@ -2365,7 +2744,7 @@ module Aws::GameLift
2365
2744
  # data as a hash:
2366
2745
  #
2367
2746
  # {
2368
- # names: ["GameSessionQueueName"],
2747
+ # names: ["GameSessionQueueNameOrArn"],
2369
2748
  # limit: 1,
2370
2749
  # next_token: "NonZeroAndMaxString",
2371
2750
  # }
@@ -2424,9 +2803,9 @@ module Aws::GameLift
2424
2803
  # data as a hash:
2425
2804
  #
2426
2805
  # {
2427
- # fleet_id: "FleetId",
2806
+ # fleet_id: "FleetIdOrArn",
2428
2807
  # game_session_id: "ArnStringModel",
2429
- # alias_id: "AliasId",
2808
+ # alias_id: "AliasIdOrArn",
2430
2809
  # status_filter: "NonZeroAndMaxString",
2431
2810
  # limit: 1,
2432
2811
  # next_token: "NonZeroAndMaxString",
@@ -2504,7 +2883,7 @@ module Aws::GameLift
2504
2883
  # data as a hash:
2505
2884
  #
2506
2885
  # {
2507
- # fleet_id: "FleetId", # required
2886
+ # fleet_id: "FleetIdOrArn", # required
2508
2887
  # instance_id: "InstanceId",
2509
2888
  # limit: 1,
2510
2889
  # next_token: "NonZeroAndMaxString",
@@ -2823,7 +3202,7 @@ module Aws::GameLift
2823
3202
  # data as a hash:
2824
3203
  #
2825
3204
  # {
2826
- # fleet_id: "FleetId", # required
3205
+ # fleet_id: "FleetIdOrArn", # required
2827
3206
  # }
2828
3207
  #
2829
3208
  # @!attribute [rw] fleet_id
@@ -2858,7 +3237,7 @@ module Aws::GameLift
2858
3237
  # data as a hash:
2859
3238
  #
2860
3239
  # {
2861
- # fleet_id: "FleetId", # required
3240
+ # fleet_id: "FleetIdOrArn", # required
2862
3241
  # status_filter: "ACTIVE", # accepts ACTIVE, UPDATE_REQUESTED, UPDATING, DELETE_REQUESTED, DELETING, DELETED, ERROR
2863
3242
  # limit: 1,
2864
3243
  # next_token: "NonZeroAndMaxString",
@@ -2938,7 +3317,7 @@ module Aws::GameLift
2938
3317
  # data as a hash:
2939
3318
  #
2940
3319
  # {
2941
- # script_id: "ScriptId", # required
3320
+ # script_id: "ScriptIdOrArn", # required
2942
3321
  # }
2943
3322
  #
2944
3323
  # @!attribute [rw] script_id
@@ -3063,11 +3442,7 @@ module Aws::GameLift
3063
3442
  #
3064
3443
  # * UpdateFleetAttributes
3065
3444
  #
3066
- # * Manage fleet actions:
3067
- #
3068
- # * StartFleetActions
3069
- #
3070
- # * StopFleetActions
3445
+ # * StartFleetActions or StopFleetActions
3071
3446
  #
3072
3447
  # @!attribute [rw] desired
3073
3448
  # Ideal number of active instances in the fleet.
@@ -3166,7 +3541,7 @@ module Aws::GameLift
3166
3541
  #
3167
3542
  # **Fleet creation events (ordered by fleet creation activity):**
3168
3543
  #
3169
- # * FLEET\_CREATED -- A fleet record was successfully created with a
3544
+ # * FLEET\_CREATED -- A fleet resource was successfully created with a
3170
3545
  # status of `NEW`. Event messaging includes the fleet ID.
3171
3546
  #
3172
3547
  # * FLEET\_STATE\_DOWNLOADING -- Fleet status changed from `NEW` to
@@ -3317,11 +3692,7 @@ module Aws::GameLift
3317
3692
  #
3318
3693
  # * UpdateFleetAttributes
3319
3694
  #
3320
- # * Manage fleet actions:
3321
- #
3322
- # * StartFleetActions
3323
- #
3324
- # * StopFleetActions
3695
+ # * StartFleetActions or StopFleetActions
3325
3696
  #
3326
3697
  # @!attribute [rw] fleet_id
3327
3698
  # A unique identifier for a fleet.
@@ -3552,11 +3923,7 @@ module Aws::GameLift
3552
3923
  #
3553
3924
  # * UpdateFleetAttributes
3554
3925
  #
3555
- # * Manage fleet actions:
3556
- #
3557
- # * StartFleetActions
3558
- #
3559
- # * StopFleetActions
3926
+ # * StartFleetActions or StopFleetActions
3560
3927
  #
3561
3928
  # @!attribute [rw] fleet_id
3562
3929
  # A unique identifier for a fleet.
@@ -3615,11 +3982,7 @@ module Aws::GameLift
3615
3982
  #
3616
3983
  # * UpdateFleetAttributes
3617
3984
  #
3618
- # * Manage fleet actions:
3619
- #
3620
- # * StartFleetActions
3621
- #
3622
- # * StopFleetActions
3985
+ # * StartFleetActions or StopFleetActions
3623
3986
  #
3624
3987
  # @!attribute [rw] fleet_id
3625
3988
  # A unique identifier for a fleet.
@@ -3692,77 +4055,371 @@ module Aws::GameLift
3692
4055
  include Aws::Structure
3693
4056
  end
3694
4057
 
3695
- # Properties describing a game session.
4058
+ # **This data type is part of Amazon GameLift FleetIQ with game server
4059
+ # groups, which is in preview release and is subject to change.**
3696
4060
  #
3697
- # A game session in ACTIVE status can host players. When a game session
3698
- # ends, its status is set to `TERMINATED`.
4061
+ # Properties describing a game server resource.
3699
4062
  #
3700
- # Once the session ends, the game session object is retained for 30
3701
- # days. This means you can reuse idempotency token values after this
3702
- # time. Game session logs are retained for 14 days.
4063
+ # A game server resource is created by a successful call to
4064
+ # RegisterGameServer and deleted by calling DeregisterGameServer.
3703
4065
  #
3704
- # * CreateGameSession
4066
+ # @!attribute [rw] game_server_group_name
4067
+ # The name identifier for the game server group where the game server
4068
+ # is located.
4069
+ # @return [String]
3705
4070
  #
3706
- # * DescribeGameSessions
4071
+ # @!attribute [rw] game_server_group_arn
4072
+ # The ARN identifier for the game server group where the game server
4073
+ # is located.
4074
+ # @return [String]
3707
4075
  #
3708
- # * DescribeGameSessionDetails
4076
+ # @!attribute [rw] game_server_id
4077
+ # A custom string that uniquely identifies the game server. Game
4078
+ # server IDs are developer-defined and are unique across all game
4079
+ # server groups in an AWS account.
4080
+ # @return [String]
3709
4081
  #
3710
- # * SearchGameSessions
4082
+ # @!attribute [rw] instance_id
4083
+ # The unique identifier for the instance where the game server is
4084
+ # located.
4085
+ # @return [String]
3711
4086
  #
3712
- # * UpdateGameSession
4087
+ # @!attribute [rw] connection_info
4088
+ # The port and IP address that must be used to establish a client
4089
+ # connection to the game server.
4090
+ # @return [String]
3713
4091
  #
3714
- # * GetGameSessionLogUrl
4092
+ # @!attribute [rw] game_server_data
4093
+ # A set of custom game server properties, formatted as a single string
4094
+ # value. This data is passed to a game client or service in response
4095
+ # to requests ListGameServers or ClaimGameServer. This property can be
4096
+ # updated using UpdateGameServer.
4097
+ # @return [String]
3715
4098
  #
3716
- # * Game session placements
4099
+ # @!attribute [rw] custom_sort_key
4100
+ # A game server tag that can be used to request sorted lists of game
4101
+ # servers when calling ListGameServers. Custom sort keys are
4102
+ # developer-defined. This property can be updated using
4103
+ # UpdateGameServer.
4104
+ # @return [String]
3717
4105
  #
3718
- # * StartGameSessionPlacement
4106
+ # @!attribute [rw] claim_status
4107
+ # Indicates when an available game server has been reserved but has
4108
+ # not yet started hosting a game. Once it is claimed, game server
4109
+ # remains in CLAIMED status for a maximum of one minute. During this
4110
+ # time, game clients must connect to the game server and start the
4111
+ # game, which triggers the game server to update its utilization
4112
+ # status. After one minute, the game server claim status reverts to
4113
+ # null.
4114
+ # @return [String]
3719
4115
  #
3720
- # * DescribeGameSessionPlacement
4116
+ # @!attribute [rw] utilization_status
4117
+ # Indicates whether the game server is currently available for new
4118
+ # games or is busy. Possible statuses include:
3721
4119
  #
3722
- # * StopGameSessionPlacement
4120
+ # * AVAILABLE - The game server is available to be claimed. A game
4121
+ # server that has been claimed remains in this status until it
4122
+ # reports game hosting activity.
3723
4123
  #
3724
- # @!attribute [rw] game_session_id
3725
- # A unique identifier for the game session. A game session ARN has the
3726
- # following format: `arn:aws:gamelift:<region>::gamesession/<fleet
3727
- # ID>/<custom ID string or idempotency token>`.
4124
+ # * IN\_USE - The game server is currently hosting a game session with
4125
+ # players.
3728
4126
  # @return [String]
3729
4127
  #
3730
- # @!attribute [rw] name
3731
- # A descriptive label that is associated with a game session. Session
3732
- # names do not need to be unique.
4128
+ # @!attribute [rw] registration_time
4129
+ # Time stamp indicating when the game server resource was created with
4130
+ # a RegisterGameServer request. Format is a number expressed in Unix
4131
+ # time as milliseconds (for example "1469498468.057").
4132
+ # @return [Time]
4133
+ #
4134
+ # @!attribute [rw] last_claim_time
4135
+ # Time stamp indicating the last time the game server was claimed with
4136
+ # a ClaimGameServer request. Format is a number expressed in Unix time
4137
+ # as milliseconds (for example "1469498468.057"). This value is used
4138
+ # to calculate when the game server's claim status.
4139
+ # @return [Time]
4140
+ #
4141
+ # @!attribute [rw] last_health_check_time
4142
+ # Time stamp indicating the last time the game server was updated with
4143
+ # health status using an UpdateGameServer request. Format is a number
4144
+ # expressed in Unix time as milliseconds (for example
4145
+ # "1469498468.057"). After game server registration, this property
4146
+ # is only changed when a game server update specifies a health check
4147
+ # value.
4148
+ # @return [Time]
4149
+ #
4150
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServer AWS API Documentation
4151
+ #
4152
+ class GameServer < Struct.new(
4153
+ :game_server_group_name,
4154
+ :game_server_group_arn,
4155
+ :game_server_id,
4156
+ :instance_id,
4157
+ :connection_info,
4158
+ :game_server_data,
4159
+ :custom_sort_key,
4160
+ :claim_status,
4161
+ :utilization_status,
4162
+ :registration_time,
4163
+ :last_claim_time,
4164
+ :last_health_check_time)
4165
+ include Aws::Structure
4166
+ end
4167
+
4168
+ # **This data type is part of Amazon GameLift FleetIQ with game server
4169
+ # groups, which is in preview release and is subject to change.**
4170
+ #
4171
+ # Properties describing a game server group resource. A game server
4172
+ # group manages certain properties of a corresponding EC2 Auto Scaling
4173
+ # group.
4174
+ #
4175
+ # A game server group is created by a successful call to
4176
+ # CreateGameServerGroup and deleted by calling DeleteGameServerGroup.
4177
+ # Game server group activity can be temporarily suspended and resumed by
4178
+ # calling SuspendGameServerGroup and ResumeGameServerGroup.
4179
+ #
4180
+ # @!attribute [rw] game_server_group_name
4181
+ # A developer-defined identifier for the game server group. The name
4182
+ # is unique per Region per AWS account.
3733
4183
  # @return [String]
3734
4184
  #
3735
- # @!attribute [rw] fleet_id
3736
- # A unique identifier for a fleet that the game session is running on.
4185
+ # @!attribute [rw] game_server_group_arn
4186
+ # A generated unique ID for the game server group.
3737
4187
  # @return [String]
3738
4188
  #
3739
- # @!attribute [rw] fleet_arn
3740
- # The Amazon Resource Name ([ARN][1]) associated with the GameLift
3741
- # fleet that this game session is running on.
4189
+ # @!attribute [rw] role_arn
4190
+ # The Amazon Resource Name ([ARN][1]) for an IAM role that allows
4191
+ # Amazon GameLift to access your EC2 Auto Scaling groups. The
4192
+ # submitted role is validated to ensure that it contains the necessary
4193
+ # permissions for game server groups.
3742
4194
  #
3743
4195
  #
3744
4196
  #
3745
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
4197
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
3746
4198
  # @return [String]
3747
4199
  #
3748
- # @!attribute [rw] creation_time
3749
- # Time stamp indicating when this data object was created. Format is a
3750
- # number expressed in Unix time as milliseconds (for example
3751
- # "1469498468.057").
3752
- # @return [Time]
4200
+ # @!attribute [rw] instance_definitions
4201
+ # The set of EC2 instance types that GameLift FleetIQ can use when
4202
+ # rebalancing and autoscaling instances in the group.
4203
+ # @return [Array<Types::InstanceDefinition>]
3753
4204
  #
3754
- # @!attribute [rw] termination_time
3755
- # Time stamp indicating when this data object was terminated. Format
3756
- # is a number expressed in Unix time as milliseconds (for example
3757
- # "1469498468.057").
3758
- # @return [Time]
4205
+ # @!attribute [rw] balancing_strategy
4206
+ # The fallback balancing method to use for the game server group when
4207
+ # Spot instances in a Region become unavailable or are not viable for
4208
+ # game hosting. Once triggered, this method remains active until Spot
4209
+ # instances can once again be used. Method options include:
3759
4210
  #
3760
- # @!attribute [rw] current_player_session_count
3761
- # Number of players currently in the game session.
3762
- # @return [Integer]
4211
+ # * SPOT\_ONLY -- If Spot instances are unavailable, the game server
4212
+ # group provides no hosting capacity. No new instances are started,
4213
+ # and the existing nonviable Spot instances are terminated (once
4214
+ # current gameplay ends) and not replaced.
3763
4215
  #
3764
- # @!attribute [rw] maximum_player_session_count
3765
- # The maximum number of players that can be connected simultaneously
4216
+ # * SPOT\_PREFERRED -- If Spot instances are unavailable, the game
4217
+ # server group continues to provide hosting capacity by using
4218
+ # On-Demand instances. Existing nonviable Spot instances are
4219
+ # terminated (once current gameplay ends) and replaced with new
4220
+ # On-Demand instances.
4221
+ # @return [String]
4222
+ #
4223
+ # @!attribute [rw] game_server_protection_policy
4224
+ # A flag that indicates whether instances in the game server group are
4225
+ # protected from early termination. Unprotected instances that have
4226
+ # active game servers running may be terminated during a scale-down
4227
+ # event, causing players to be dropped from the game. Protected
4228
+ # instances cannot be terminated while there are active game servers
4229
+ # running except in the event of a forced game server group deletion
4230
+ # (see DeleteGameServerGroup). An exception to this is Spot Instances,
4231
+ # which may be terminated by AWS regardless of protection status.
4232
+ # @return [String]
4233
+ #
4234
+ # @!attribute [rw] auto_scaling_group_arn
4235
+ # A generated unique ID for the EC2 Auto Scaling group with is
4236
+ # associated with this game server group.
4237
+ # @return [String]
4238
+ #
4239
+ # @!attribute [rw] status
4240
+ # The current status of the game server group. Possible statuses
4241
+ # include:
4242
+ #
4243
+ # * NEW - GameLift FleetIQ has validated the `CreateGameServerGroup()`
4244
+ # request.
4245
+ #
4246
+ # * ACTIVATING - GameLift FleetIQ is setting up a game server group,
4247
+ # which includes creating an autoscaling group in your AWS account.
4248
+ #
4249
+ # * ACTIVE - The game server group has been successfully created.
4250
+ #
4251
+ # * DELETE\_SCHEDULED - A request to delete the game server group has
4252
+ # been received.
4253
+ #
4254
+ # * DELETING - GameLift FleetIQ has received a valid
4255
+ # `DeleteGameServerGroup()` request and is processing it. GameLift
4256
+ # FleetIQ must first complete and release hosts before it deletes
4257
+ # the autoscaling group and the game server group.
4258
+ #
4259
+ # * DELETED - The game server group has been successfully deleted.
4260
+ #
4261
+ # * ERROR - The asynchronous processes of activating or deleting a
4262
+ # game server group has failed, resulting in an error state.
4263
+ # @return [String]
4264
+ #
4265
+ # @!attribute [rw] status_reason
4266
+ # Additional information about the current game server group status.
4267
+ # This information may provide additional insight on groups that in
4268
+ # ERROR status.
4269
+ # @return [String]
4270
+ #
4271
+ # @!attribute [rw] suspended_actions
4272
+ # A list of activities that are currently suspended for this game
4273
+ # server group. If this property is empty, all activities are
4274
+ # occurring.
4275
+ # @return [Array<String>]
4276
+ #
4277
+ # @!attribute [rw] creation_time
4278
+ # A time stamp indicating when this data object was created. Format is
4279
+ # a number expressed in Unix time as milliseconds (for example
4280
+ # "1469498468.057").
4281
+ # @return [Time]
4282
+ #
4283
+ # @!attribute [rw] last_updated_time
4284
+ # A time stamp indicating when this game server group was last
4285
+ # updated.
4286
+ # @return [Time]
4287
+ #
4288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServerGroup AWS API Documentation
4289
+ #
4290
+ class GameServerGroup < Struct.new(
4291
+ :game_server_group_name,
4292
+ :game_server_group_arn,
4293
+ :role_arn,
4294
+ :instance_definitions,
4295
+ :balancing_strategy,
4296
+ :game_server_protection_policy,
4297
+ :auto_scaling_group_arn,
4298
+ :status,
4299
+ :status_reason,
4300
+ :suspended_actions,
4301
+ :creation_time,
4302
+ :last_updated_time)
4303
+ include Aws::Structure
4304
+ end
4305
+
4306
+ # **This data type is part of Amazon GameLift FleetIQ with game server
4307
+ # groups, which is in preview release and is subject to change.**
4308
+ #
4309
+ # Configuration settings for intelligent autoscaling that uses target
4310
+ # tracking. An autoscaling policy can be specified when a new game
4311
+ # server group is created with CreateGameServerGroup. If a group has an
4312
+ # autoscaling policy, the Auto Scaling group takes action based on this
4313
+ # policy, in addition to (and potentially in conflict with) any other
4314
+ # autoscaling policies that are separately applied to the Auto Scaling
4315
+ # group.
4316
+ #
4317
+ # @note When making an API call, you may pass GameServerGroupAutoScalingPolicy
4318
+ # data as a hash:
4319
+ #
4320
+ # {
4321
+ # estimated_instance_warmup: 1,
4322
+ # target_tracking_configuration: { # required
4323
+ # target_value: 1.0, # required
4324
+ # },
4325
+ # }
4326
+ #
4327
+ # @!attribute [rw] estimated_instance_warmup
4328
+ # Length of time, in seconds, it takes for a new instance to start new
4329
+ # game server processes and register with GameLift FleetIQ. Specifying
4330
+ # a warm-up time can be useful, particularly with game servers that
4331
+ # take a long time to start up, because it avoids prematurely starting
4332
+ # new instances
4333
+ # @return [Integer]
4334
+ #
4335
+ # @!attribute [rw] target_tracking_configuration
4336
+ # Settings for a target-based scaling policy applied to Auto Scaling
4337
+ # group. These settings are used to create a target-based policy that
4338
+ # tracks the GameLift FleetIQ metric "PercentUtilizedGameServers"
4339
+ # and specifies a target value for the metric. As player usage
4340
+ # changes, the policy triggers to adjust the game server group
4341
+ # capacity so that the metric returns to the target value.
4342
+ # @return [Types::TargetTrackingConfiguration]
4343
+ #
4344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameServerGroupAutoScalingPolicy AWS API Documentation
4345
+ #
4346
+ class GameServerGroupAutoScalingPolicy < Struct.new(
4347
+ :estimated_instance_warmup,
4348
+ :target_tracking_configuration)
4349
+ include Aws::Structure
4350
+ end
4351
+
4352
+ # Properties describing a game session.
4353
+ #
4354
+ # A game session in ACTIVE status can host players. When a game session
4355
+ # ends, its status is set to `TERMINATED`.
4356
+ #
4357
+ # Once the session ends, the game session object is retained for 30
4358
+ # days. This means you can reuse idempotency token values after this
4359
+ # time. Game session logs are retained for 14 days.
4360
+ #
4361
+ # * CreateGameSession
4362
+ #
4363
+ # * DescribeGameSessions
4364
+ #
4365
+ # * DescribeGameSessionDetails
4366
+ #
4367
+ # * SearchGameSessions
4368
+ #
4369
+ # * UpdateGameSession
4370
+ #
4371
+ # * GetGameSessionLogUrl
4372
+ #
4373
+ # * Game session placements
4374
+ #
4375
+ # * StartGameSessionPlacement
4376
+ #
4377
+ # * DescribeGameSessionPlacement
4378
+ #
4379
+ # * StopGameSessionPlacement
4380
+ #
4381
+ # @!attribute [rw] game_session_id
4382
+ # A unique identifier for the game session. A game session ARN has the
4383
+ # following format: `arn:aws:gamelift:<region>::gamesession/<fleet
4384
+ # ID>/<custom ID string or idempotency token>`.
4385
+ # @return [String]
4386
+ #
4387
+ # @!attribute [rw] name
4388
+ # A descriptive label that is associated with a game session. Session
4389
+ # names do not need to be unique.
4390
+ # @return [String]
4391
+ #
4392
+ # @!attribute [rw] fleet_id
4393
+ # A unique identifier for a fleet that the game session is running on.
4394
+ # @return [String]
4395
+ #
4396
+ # @!attribute [rw] fleet_arn
4397
+ # The Amazon Resource Name ([ARN][1]) associated with the GameLift
4398
+ # fleet that this game session is running on.
4399
+ #
4400
+ #
4401
+ #
4402
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
4403
+ # @return [String]
4404
+ #
4405
+ # @!attribute [rw] creation_time
4406
+ # Time stamp indicating when this data object was created. Format is a
4407
+ # number expressed in Unix time as milliseconds (for example
4408
+ # "1469498468.057").
4409
+ # @return [Time]
4410
+ #
4411
+ # @!attribute [rw] termination_time
4412
+ # Time stamp indicating when this data object was terminated. Format
4413
+ # is a number expressed in Unix time as milliseconds (for example
4414
+ # "1469498468.057").
4415
+ # @return [Time]
4416
+ #
4417
+ # @!attribute [rw] current_player_session_count
4418
+ # Number of players currently in the game session.
4419
+ # @return [Integer]
4420
+ #
4421
+ # @!attribute [rw] maximum_player_session_count
4422
+ # The maximum number of players that can be connected simultaneously
3766
4423
  # to the game session.
3767
4424
  # @return [Integer]
3768
4425
  #
@@ -4329,7 +4986,7 @@ module Aws::GameLift
4329
4986
  # data as a hash:
4330
4987
  #
4331
4988
  # {
4332
- # fleet_id: "FleetId", # required
4989
+ # fleet_id: "FleetIdOrArn", # required
4333
4990
  # instance_id: "InstanceId", # required
4334
4991
  # }
4335
4992
  #
@@ -4520,6 +5177,48 @@ module Aws::GameLift
4520
5177
  include Aws::Structure
4521
5178
  end
4522
5179
 
5180
+ # **This data type is part of Amazon GameLift FleetIQ with game server
5181
+ # groups, which is in preview release and is subject to change.**
5182
+ #
5183
+ # An allowed instance type for your game server group. GameLift FleetIQ
5184
+ # periodically evaluates each defined instance type for viability. It
5185
+ # then updates the Auto Scaling group with the list of viable instance
5186
+ # types.
5187
+ #
5188
+ # @note When making an API call, you may pass InstanceDefinition
5189
+ # data as a hash:
5190
+ #
5191
+ # {
5192
+ # 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, 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, 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
5193
+ # weighted_capacity: "WeightedCapacity",
5194
+ # }
5195
+ #
5196
+ # @!attribute [rw] instance_type
5197
+ # An EC2 instance type designation.
5198
+ # @return [String]
5199
+ #
5200
+ # @!attribute [rw] weighted_capacity
5201
+ # Instance weighting that indicates how much this instance type
5202
+ # contributes to the total capacity of a game server group. Instance
5203
+ # weights are used by GameLift FleetIQ to calculate the instance
5204
+ # type's cost per unit hour and better identify the most
5205
+ # cost-effective options. For detailed information on weighting
5206
+ # instance capacity, see [Instance Weighting][1] in the *Amazon EC2
5207
+ # Auto Scaling User Guide*. Default value is "1".
5208
+ #
5209
+ #
5210
+ #
5211
+ # [1]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html
5212
+ # @return [String]
5213
+ #
5214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/InstanceDefinition AWS API Documentation
5215
+ #
5216
+ class InstanceDefinition < Struct.new(
5217
+ :instance_type,
5218
+ :weighted_capacity)
5219
+ include Aws::Structure
5220
+ end
5221
+
4523
5222
  # The service encountered an unrecoverable internal failure while
4524
5223
  # processing the request. Clients can retry such requests immediately or
4525
5224
  # after a waiting period.
@@ -4623,6 +5322,45 @@ module Aws::GameLift
4623
5322
  include Aws::Structure
4624
5323
  end
4625
5324
 
5325
+ # **This data type is part of Amazon GameLift FleetIQ with game server
5326
+ # groups, which is in preview release and is subject to change.**
5327
+ #
5328
+ # An EC2 launch template that contains configuration settings and game
5329
+ # server code to be deployed to all instances in a game server group.
5330
+ #
5331
+ # @note When making an API call, you may pass LaunchTemplateSpecification
5332
+ # data as a hash:
5333
+ #
5334
+ # {
5335
+ # launch_template_id: "LaunchTemplateId",
5336
+ # launch_template_name: "LaunchTemplateName",
5337
+ # version: "LaunchTemplateVersion",
5338
+ # }
5339
+ #
5340
+ # @!attribute [rw] launch_template_id
5341
+ # A unique identifier for an existing EC2 launch template.
5342
+ # @return [String]
5343
+ #
5344
+ # @!attribute [rw] launch_template_name
5345
+ # A readable identifier for an existing EC2 launch template.
5346
+ # @return [String]
5347
+ #
5348
+ # @!attribute [rw] version
5349
+ # The version of the EC2 launch template to use. If no version is
5350
+ # specified, the default version will be used. EC2 allows you to
5351
+ # specify a default version for a launch template, if none is set, the
5352
+ # default is the first version created.
5353
+ # @return [String]
5354
+ #
5355
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/LaunchTemplateSpecification AWS API Documentation
5356
+ #
5357
+ class LaunchTemplateSpecification < Struct.new(
5358
+ :launch_template_id,
5359
+ :launch_template_name,
5360
+ :version)
5361
+ include Aws::Structure
5362
+ end
5363
+
4626
5364
  # The requested operation would cause the resource to exceed the allowed
4627
5365
  # service limit. Resolve the issue before retrying.
4628
5366
  #
@@ -4764,7 +5502,7 @@ module Aws::GameLift
4764
5502
  # Represents the returned data in response to a request action.
4765
5503
  #
4766
5504
  # @!attribute [rw] builds
4767
- # A collection of build records that match the request.
5505
+ # A collection of build resources that match the request.
4768
5506
  # @return [Array<Types::Build>]
4769
5507
  #
4770
5508
  # @!attribute [rw] next_token
@@ -4787,24 +5525,24 @@ module Aws::GameLift
4787
5525
  # data as a hash:
4788
5526
  #
4789
5527
  # {
4790
- # build_id: "BuildId",
4791
- # script_id: "ScriptId",
5528
+ # build_id: "BuildIdOrArn",
5529
+ # script_id: "ScriptIdOrArn",
4792
5530
  # limit: 1,
4793
5531
  # next_token: "NonZeroAndMaxString",
4794
5532
  # }
4795
5533
  #
4796
5534
  # @!attribute [rw] build_id
4797
5535
  # A unique identifier for a build to return fleets for. Use this
4798
- # parameter to return only fleets using the specified build. Use
4799
- # either the build ID or ARN value.To retrieve all fleets, leave this
4800
- # parameter empty.
5536
+ # parameter to return only fleets using a specified build. Use either
5537
+ # the build ID or ARN value. To retrieve all fleets, do not include
5538
+ # either a BuildId and ScriptID parameter.
4801
5539
  # @return [String]
4802
5540
  #
4803
5541
  # @!attribute [rw] script_id
4804
5542
  # A unique identifier for a Realtime script to return fleets for. Use
4805
- # this parameter to return only fleets using the specified script. Use
4806
- # either the script ID or ARN value.To retrieve all fleets, leave this
4807
- # parameter empty.
5543
+ # this parameter to return only fleets using a specified script. Use
5544
+ # either the script ID or ARN value. To retrieve all fleets, leave
5545
+ # this parameter empty.
4808
5546
  # @return [String]
4809
5547
  #
4810
5548
  # @!attribute [rw] limit
@@ -4852,6 +5590,113 @@ module Aws::GameLift
4852
5590
  include Aws::Structure
4853
5591
  end
4854
5592
 
5593
+ # @note When making an API call, you may pass ListGameServerGroupsInput
5594
+ # data as a hash:
5595
+ #
5596
+ # {
5597
+ # limit: 1,
5598
+ # next_token: "NonZeroAndMaxString",
5599
+ # }
5600
+ #
5601
+ # @!attribute [rw] limit
5602
+ # The maximum number of results to return. Use this parameter with
5603
+ # `NextToken` to get results as a set of sequential pages.
5604
+ # @return [Integer]
5605
+ #
5606
+ # @!attribute [rw] next_token
5607
+ # A token that indicates the start of the next sequential page of
5608
+ # results. Use the token that is returned with a previous call to this
5609
+ # action. To start at the beginning of the result set, do not specify
5610
+ # a value.
5611
+ # @return [String]
5612
+ #
5613
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServerGroupsInput AWS API Documentation
5614
+ #
5615
+ class ListGameServerGroupsInput < Struct.new(
5616
+ :limit,
5617
+ :next_token)
5618
+ include Aws::Structure
5619
+ end
5620
+
5621
+ # @!attribute [rw] game_server_groups
5622
+ # A collection of game server group objects that match the request.
5623
+ # @return [Array<Types::GameServerGroup>]
5624
+ #
5625
+ # @!attribute [rw] next_token
5626
+ # A token that indicates where to resume retrieving results on the
5627
+ # next call to this action. If no token is returned, these results
5628
+ # represent the end of the list.
5629
+ # @return [String]
5630
+ #
5631
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServerGroupsOutput AWS API Documentation
5632
+ #
5633
+ class ListGameServerGroupsOutput < Struct.new(
5634
+ :game_server_groups,
5635
+ :next_token)
5636
+ include Aws::Structure
5637
+ end
5638
+
5639
+ # @note When making an API call, you may pass ListGameServersInput
5640
+ # data as a hash:
5641
+ #
5642
+ # {
5643
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
5644
+ # sort_order: "ASCENDING", # accepts ASCENDING, DESCENDING
5645
+ # limit: 1,
5646
+ # next_token: "NonZeroAndMaxString",
5647
+ # }
5648
+ #
5649
+ # @!attribute [rw] game_server_group_name
5650
+ # An identifier for the game server group for the game server you want
5651
+ # to list. Use either the GameServerGroup name or ARN value.
5652
+ # @return [String]
5653
+ #
5654
+ # @!attribute [rw] sort_order
5655
+ # Indicates how to sort the returned data based on the game servers'
5656
+ # custom key sort value. If this parameter is left empty, the list of
5657
+ # game servers is returned in no particular order.
5658
+ # @return [String]
5659
+ #
5660
+ # @!attribute [rw] limit
5661
+ # The maximum number of results to return. Use this parameter with
5662
+ # `NextToken` to get results as a set of sequential pages.
5663
+ # @return [Integer]
5664
+ #
5665
+ # @!attribute [rw] next_token
5666
+ # A token that indicates the start of the next sequential page of
5667
+ # results. Use the token that is returned with a previous call to this
5668
+ # action. To start at the beginning of the result set, do not specify
5669
+ # a value.
5670
+ # @return [String]
5671
+ #
5672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServersInput AWS API Documentation
5673
+ #
5674
+ class ListGameServersInput < Struct.new(
5675
+ :game_server_group_name,
5676
+ :sort_order,
5677
+ :limit,
5678
+ :next_token)
5679
+ include Aws::Structure
5680
+ end
5681
+
5682
+ # @!attribute [rw] game_servers
5683
+ # A collection of game server objects that match the request.
5684
+ # @return [Array<Types::GameServer>]
5685
+ #
5686
+ # @!attribute [rw] next_token
5687
+ # A token that indicates where to resume retrieving results on the
5688
+ # next call to this action. If no token is returned, these results
5689
+ # represent the end of the list.
5690
+ # @return [String]
5691
+ #
5692
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ListGameServersOutput AWS API Documentation
5693
+ #
5694
+ class ListGameServersOutput < Struct.new(
5695
+ :game_servers,
5696
+ :next_token)
5697
+ include Aws::Structure
5698
+ end
5699
+
4855
5700
  # @note When making an API call, you may pass ListScriptsInput
4856
5701
  # data as a hash:
4857
5702
  #
@@ -5329,6 +6174,20 @@ module Aws::GameLift
5329
6174
  include Aws::Structure
5330
6175
  end
5331
6176
 
6177
+ # The specified game server group has no available game servers to
6178
+ # fulfill a `ClaimGameServer` request. Clients can retry such requests
6179
+ # immediately or after a waiting period.
6180
+ #
6181
+ # @!attribute [rw] message
6182
+ # @return [String]
6183
+ #
6184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/OutOfCapacityException AWS API Documentation
6185
+ #
6186
+ class OutOfCapacityException < Struct.new(
6187
+ :message)
6188
+ include Aws::Structure
6189
+ end
6190
+
5332
6191
  # Information about a player session that was created as part of a
5333
6192
  # StartGameSessionPlacement request. This object contains only the
5334
6193
  # player ID and player session ID. To retrieve full details on a player
@@ -5650,7 +6509,7 @@ module Aws::GameLift
5650
6509
  #
5651
6510
  # {
5652
6511
  # name: "NonZeroAndMaxString", # required
5653
- # fleet_id: "FleetId", # required
6512
+ # fleet_id: "FleetIdOrArn", # required
5654
6513
  # scaling_adjustment: 1,
5655
6514
  # scaling_adjustment_type: "ChangeInCapacity", # accepts ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
5656
6515
  # threshold: 1.0,
@@ -5801,13 +6660,105 @@ module Aws::GameLift
5801
6660
  include Aws::Structure
5802
6661
  end
5803
6662
 
6663
+ # @note When making an API call, you may pass RegisterGameServerInput
6664
+ # data as a hash:
6665
+ #
6666
+ # {
6667
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
6668
+ # game_server_id: "GameServerId", # required
6669
+ # instance_id: "GameServerInstanceId", # required
6670
+ # connection_info: "GameServerConnectionInfo",
6671
+ # game_server_data: "GameServerData",
6672
+ # custom_sort_key: "GameServerSortKey",
6673
+ # tags: [
6674
+ # {
6675
+ # key: "TagKey", # required
6676
+ # value: "TagValue", # required
6677
+ # },
6678
+ # ],
6679
+ # }
6680
+ #
6681
+ # @!attribute [rw] game_server_group_name
6682
+ # An identifier for the game server group where the game server is
6683
+ # running. You can use either the GameServerGroup name or ARN value.
6684
+ # @return [String]
6685
+ #
6686
+ # @!attribute [rw] game_server_id
6687
+ # A custom string that uniquely identifies the new game server. Game
6688
+ # server IDs are developer-defined and must be unique across all game
6689
+ # server groups in your AWS account.
6690
+ # @return [String]
6691
+ #
6692
+ # @!attribute [rw] instance_id
6693
+ # The unique identifier for the instance where the game server is
6694
+ # running. This ID is available in the instance metadata.
6695
+ # @return [String]
6696
+ #
6697
+ # @!attribute [rw] connection_info
6698
+ # Information needed to make inbound client connections to the game
6699
+ # server. This might include IP address and port, DNS name, etc.
6700
+ # @return [String]
6701
+ #
6702
+ # @!attribute [rw] game_server_data
6703
+ # A set of custom game server properties, formatted as a single string
6704
+ # value. This data is passed to a game client or service when it
6705
+ # requests information on a game servers using ListGameServers or
6706
+ # ClaimGameServer.
6707
+ # @return [String]
6708
+ #
6709
+ # @!attribute [rw] custom_sort_key
6710
+ # A game server tag that can be used to request sorted lists of game
6711
+ # servers using ListGameServers. Custom sort keys are
6712
+ # developer-defined based on how you want to organize the retrieved
6713
+ # game server information.
6714
+ # @return [String]
6715
+ #
6716
+ # @!attribute [rw] tags
6717
+ # A list of labels to assign to the new game server resource. Tags are
6718
+ # developer-defined key-value pairs. Tagging AWS resources are useful
6719
+ # for resource management, access management, and cost allocation. For
6720
+ # more information, see [ Tagging AWS Resources][1] in the *AWS
6721
+ # General Reference*. Once the resource is created, you can use
6722
+ # TagResource, UntagResource, and ListTagsForResource to add, remove,
6723
+ # and view tags. The maximum tag limit may be lower than stated. See
6724
+ # the AWS General Reference for actual tagging limits.
6725
+ #
6726
+ #
6727
+ #
6728
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
6729
+ # @return [Array<Types::Tag>]
6730
+ #
6731
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServerInput AWS API Documentation
6732
+ #
6733
+ class RegisterGameServerInput < Struct.new(
6734
+ :game_server_group_name,
6735
+ :game_server_id,
6736
+ :instance_id,
6737
+ :connection_info,
6738
+ :game_server_data,
6739
+ :custom_sort_key,
6740
+ :tags)
6741
+ include Aws::Structure
6742
+ end
6743
+
6744
+ # @!attribute [rw] game_server
6745
+ # Object that describes the newly created game server resource.
6746
+ # @return [Types::GameServer]
6747
+ #
6748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/RegisterGameServerOutput AWS API Documentation
6749
+ #
6750
+ class RegisterGameServerOutput < Struct.new(
6751
+ :game_server)
6752
+ include Aws::Structure
6753
+ end
6754
+
5804
6755
  # Represents the input for a request action.
5805
6756
  #
5806
6757
  # @note When making an API call, you may pass RequestUploadCredentialsInput
5807
6758
  # data as a hash:
5808
6759
  #
5809
6760
  # {
5810
- # build_id: "BuildId", # required
6761
+ # build_id: "BuildIdOrArn", # required
5811
6762
  # }
5812
6763
  #
5813
6764
  # @!attribute [rw] build_id
@@ -5849,7 +6800,7 @@ module Aws::GameLift
5849
6800
  # data as a hash:
5850
6801
  #
5851
6802
  # {
5852
- # alias_id: "AliasId", # required
6803
+ # alias_id: "AliasIdOrArn", # required
5853
6804
  # }
5854
6805
  #
5855
6806
  # @!attribute [rw] alias_id
@@ -5926,6 +6877,43 @@ module Aws::GameLift
5926
6877
  include Aws::Structure
5927
6878
  end
5928
6879
 
6880
+ # @note When making an API call, you may pass ResumeGameServerGroupInput
6881
+ # data as a hash:
6882
+ #
6883
+ # {
6884
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
6885
+ # resume_actions: ["REPLACE_INSTANCE_TYPES"], # required, accepts REPLACE_INSTANCE_TYPES
6886
+ # }
6887
+ #
6888
+ # @!attribute [rw] game_server_group_name
6889
+ # The unique identifier of the game server group to resume activity
6890
+ # on. Use either the GameServerGroup name or ARN value.
6891
+ # @return [String]
6892
+ #
6893
+ # @!attribute [rw] resume_actions
6894
+ # The action to resume for this game server group.
6895
+ # @return [Array<String>]
6896
+ #
6897
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResumeGameServerGroupInput AWS API Documentation
6898
+ #
6899
+ class ResumeGameServerGroupInput < Struct.new(
6900
+ :game_server_group_name,
6901
+ :resume_actions)
6902
+ include Aws::Structure
6903
+ end
6904
+
6905
+ # @!attribute [rw] game_server_group
6906
+ # An object that describes the game server group resource, with the
6907
+ # *SuspendedActions* property updated to reflect the resumed activity.
6908
+ # @return [Types::GameServerGroup]
6909
+ #
6910
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/ResumeGameServerGroupOutput AWS API Documentation
6911
+ #
6912
+ class ResumeGameServerGroupOutput < Struct.new(
6913
+ :game_server_group)
6914
+ include Aws::Structure
6915
+ end
6916
+
5929
6917
  # The routing configuration for a fleet alias.
5930
6918
  #
5931
6919
  # * CreateAlias
@@ -6007,11 +6995,7 @@ module Aws::GameLift
6007
6995
  #
6008
6996
  # * UpdateFleetAttributes
6009
6997
  #
6010
- # * Manage fleet actions:
6011
- #
6012
- # * StartFleetActions
6013
- #
6014
- # * StopFleetActions
6998
+ # * StartFleetActions or StopFleetActions
6015
6999
  #
6016
7000
  #
6017
7001
  #
@@ -6060,8 +7044,8 @@ module Aws::GameLift
6060
7044
  include Aws::Structure
6061
7045
  end
6062
7046
 
6063
- # The location in Amazon S3 where build or script files are stored for
6064
- # access by Amazon GameLift. This location is specified in CreateBuild,
7047
+ # The location in S3 where build or script files are stored for access
7048
+ # by Amazon GameLift. This location is specified in CreateBuild,
6065
7049
  # CreateScript, and UpdateScript requests.
6066
7050
  #
6067
7051
  # @note When making an API call, you may pass S3Location
@@ -6075,7 +7059,7 @@ module Aws::GameLift
6075
7059
  # }
6076
7060
  #
6077
7061
  # @!attribute [rw] bucket
6078
- # An Amazon S3 bucket identifier. This is the name of the S3 bucket.
7062
+ # An S3 bucket identifier. This is the name of the S3 bucket.
6079
7063
  # @return [String]
6080
7064
  #
6081
7065
  # @!attribute [rw] key
@@ -6333,9 +7317,9 @@ module Aws::GameLift
6333
7317
  # @return [Time]
6334
7318
  #
6335
7319
  # @!attribute [rw] storage_location
6336
- # The location in Amazon S3 where build or script files are stored for
6337
- # access by Amazon GameLift. This location is specified in
6338
- # CreateBuild, CreateScript, and UpdateScript requests.
7320
+ # The location in S3 where build or script files are stored for access
7321
+ # by Amazon GameLift. This location is specified in CreateBuild,
7322
+ # CreateScript, and UpdateScript requests.
6339
7323
  # @return [Types::S3Location]
6340
7324
  #
6341
7325
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/Script AWS API Documentation
@@ -6357,8 +7341,8 @@ module Aws::GameLift
6357
7341
  # data as a hash:
6358
7342
  #
6359
7343
  # {
6360
- # fleet_id: "FleetId",
6361
- # alias_id: "AliasId",
7344
+ # fleet_id: "FleetIdOrArn",
7345
+ # alias_id: "AliasIdOrArn",
6362
7346
  # filter_expression: "NonZeroAndMaxString",
6363
7347
  # sort_expression: "NonZeroAndMaxString",
6364
7348
  # limit: 1,
@@ -6545,7 +7529,7 @@ module Aws::GameLift
6545
7529
  # data as a hash:
6546
7530
  #
6547
7531
  # {
6548
- # fleet_id: "FleetId", # required
7532
+ # fleet_id: "FleetIdOrArn", # required
6549
7533
  # actions: ["AUTO_SCALING"], # required, accepts AUTO_SCALING
6550
7534
  # }
6551
7535
  #
@@ -6577,7 +7561,7 @@ module Aws::GameLift
6577
7561
  #
6578
7562
  # {
6579
7563
  # placement_id: "IdStringModel", # required
6580
- # game_session_queue_name: "GameSessionQueueName", # required
7564
+ # game_session_queue_name: "GameSessionQueueNameOrArn", # required
6581
7565
  # game_properties: [
6582
7566
  # {
6583
7567
  # key: "GamePropertyKey", # required
@@ -6611,7 +7595,7 @@ module Aws::GameLift
6611
7595
  #
6612
7596
  # @!attribute [rw] game_session_queue_name
6613
7597
  # Name of the queue to use to place the new game session. You can use
6614
- # either the qieue name or ARN value.
7598
+ # either the queue name or ARN value.
6615
7599
  # @return [String]
6616
7600
  #
6617
7601
  # @!attribute [rw] game_properties
@@ -6849,7 +7833,7 @@ module Aws::GameLift
6849
7833
  # data as a hash:
6850
7834
  #
6851
7835
  # {
6852
- # fleet_id: "FleetId", # required
7836
+ # fleet_id: "FleetIdOrArn", # required
6853
7837
  # actions: ["AUTO_SCALING"], # required, accepts AUTO_SCALING
6854
7838
  # }
6855
7839
  #
@@ -6932,6 +7916,44 @@ module Aws::GameLift
6932
7916
  #
6933
7917
  class StopMatchmakingOutput < Aws::EmptyStructure; end
6934
7918
 
7919
+ # @note When making an API call, you may pass SuspendGameServerGroupInput
7920
+ # data as a hash:
7921
+ #
7922
+ # {
7923
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
7924
+ # suspend_actions: ["REPLACE_INSTANCE_TYPES"], # required, accepts REPLACE_INSTANCE_TYPES
7925
+ # }
7926
+ #
7927
+ # @!attribute [rw] game_server_group_name
7928
+ # The unique identifier of the game server group to stop activity on.
7929
+ # Use either the GameServerGroup name or ARN value.
7930
+ # @return [String]
7931
+ #
7932
+ # @!attribute [rw] suspend_actions
7933
+ # The action to suspend for this game server group.
7934
+ # @return [Array<String>]
7935
+ #
7936
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SuspendGameServerGroupInput AWS API Documentation
7937
+ #
7938
+ class SuspendGameServerGroupInput < Struct.new(
7939
+ :game_server_group_name,
7940
+ :suspend_actions)
7941
+ include Aws::Structure
7942
+ end
7943
+
7944
+ # @!attribute [rw] game_server_group
7945
+ # An object that describes the game server group resource, with the
7946
+ # *SuspendedActions* property updated to reflect the suspended
7947
+ # activity.
7948
+ # @return [Types::GameServerGroup]
7949
+ #
7950
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/SuspendGameServerGroupOutput AWS API Documentation
7951
+ #
7952
+ class SuspendGameServerGroupOutput < Struct.new(
7953
+ :game_server_group)
7954
+ include Aws::Structure
7955
+ end
7956
+
6935
7957
  # A label that can be assigned to a GameLift resource.
6936
7958
  #
6937
7959
  # **Learn more**
@@ -7091,6 +8113,35 @@ module Aws::GameLift
7091
8113
  include Aws::Structure
7092
8114
  end
7093
8115
 
8116
+ # **This data type is part of Amazon GameLift FleetIQ with game server
8117
+ # groups, which is in preview release and is subject to change.**
8118
+ #
8119
+ # Settings for a target-based scaling policy applied to Auto Scaling
8120
+ # group. These settings are used to create a target-based policy that
8121
+ # tracks the GameLift FleetIQ metric "PercentUtilizedGameServers" and
8122
+ # specifies a target value for the metric. As player usage changes, the
8123
+ # policy triggers to adjust the game server group capacity so that the
8124
+ # metric returns to the target value.
8125
+ #
8126
+ # @note When making an API call, you may pass TargetTrackingConfiguration
8127
+ # data as a hash:
8128
+ #
8129
+ # {
8130
+ # target_value: 1.0, # required
8131
+ # }
8132
+ #
8133
+ # @!attribute [rw] target_value
8134
+ # Desired value to use with a game server group target-based scaling
8135
+ # policy.
8136
+ # @return [Float]
8137
+ #
8138
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/TargetTrackingConfiguration AWS API Documentation
8139
+ #
8140
+ class TargetTrackingConfiguration < Struct.new(
8141
+ :target_value)
8142
+ include Aws::Structure
8143
+ end
8144
+
7094
8145
  # The service is unable to resolve the routing for a particular alias
7095
8146
  # because it has a terminal RoutingStrategy associated with it. The
7096
8147
  # message returned in this exception is the message defined in the
@@ -7153,9 +8204,9 @@ module Aws::GameLift
7153
8204
  # @return [String]
7154
8205
  #
7155
8206
  # @!attribute [rw] tag_keys
7156
- # A list of one or more tags to remove from the specified GameLift
7157
- # resource. Tags are developer-defined and structured as key-value
7158
- # pairs.
8207
+ # A list of one or more tag keys to remove from the specified GameLift
8208
+ # resource. An AWS resource can have only one tag with a specific tag
8209
+ # key, so specifying the tag key identifies which tag to remove.
7159
8210
  # @return [Array<String>]
7160
8211
  #
7161
8212
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UntagResourceRequest AWS API Documentation
@@ -7176,7 +8227,7 @@ module Aws::GameLift
7176
8227
  # data as a hash:
7177
8228
  #
7178
8229
  # {
7179
- # alias_id: "AliasId", # required
8230
+ # alias_id: "AliasIdOrArn", # required
7180
8231
  # name: "NonBlankAndLengthConstraintString",
7181
8232
  # description: "NonZeroAndMaxString",
7182
8233
  # routing_strategy: {
@@ -7234,7 +8285,7 @@ module Aws::GameLift
7234
8285
  # data as a hash:
7235
8286
  #
7236
8287
  # {
7237
- # build_id: "BuildId", # required
8288
+ # build_id: "BuildIdOrArn", # required
7238
8289
  # name: "NonZeroAndMaxString",
7239
8290
  # version: "NonZeroAndMaxString",
7240
8291
  # }
@@ -7266,7 +8317,7 @@ module Aws::GameLift
7266
8317
  # Represents the returned data in response to a request action.
7267
8318
  #
7268
8319
  # @!attribute [rw] build
7269
- # The updated build record.
8320
+ # The updated build resource.
7270
8321
  # @return [Types::Build]
7271
8322
  #
7272
8323
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateBuildOutput AWS API Documentation
@@ -7282,7 +8333,7 @@ module Aws::GameLift
7282
8333
  # data as a hash:
7283
8334
  #
7284
8335
  # {
7285
- # fleet_id: "FleetId", # required
8336
+ # fleet_id: "FleetIdOrArn", # required
7286
8337
  # name: "NonZeroAndMaxString",
7287
8338
  # description: "NonZeroAndMaxString",
7288
8339
  # new_game_session_protection_policy: "NoProtection", # accepts NoProtection, FullProtection
@@ -7364,7 +8415,7 @@ module Aws::GameLift
7364
8415
  # data as a hash:
7365
8416
  #
7366
8417
  # {
7367
- # fleet_id: "FleetId", # required
8418
+ # fleet_id: "FleetIdOrArn", # required
7368
8419
  # desired_instances: 1,
7369
8420
  # min_size: 1,
7370
8421
  # max_size: 1,
@@ -7418,7 +8469,7 @@ module Aws::GameLift
7418
8469
  # data as a hash:
7419
8470
  #
7420
8471
  # {
7421
- # fleet_id: "FleetId", # required
8472
+ # fleet_id: "FleetIdOrArn", # required
7422
8473
  # inbound_permission_authorizations: [
7423
8474
  # {
7424
8475
  # from_port: 1, # required
@@ -7443,11 +8494,11 @@ module Aws::GameLift
7443
8494
  # @return [String]
7444
8495
  #
7445
8496
  # @!attribute [rw] inbound_permission_authorizations
7446
- # A collection of port settings to be added to the fleet record.
8497
+ # A collection of port settings to be added to the fleet resource.
7447
8498
  # @return [Array<Types::IpPermission>]
7448
8499
  #
7449
8500
  # @!attribute [rw] inbound_permission_revocations
7450
- # A collection of port settings to be removed from the fleet record.
8501
+ # A collection of port settings to be removed from the fleet resource.
7451
8502
  # @return [Array<Types::IpPermission>]
7452
8503
  #
7453
8504
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateFleetPortSettingsInput AWS API Documentation
@@ -7472,6 +8523,173 @@ module Aws::GameLift
7472
8523
  include Aws::Structure
7473
8524
  end
7474
8525
 
8526
+ # @note When making an API call, you may pass UpdateGameServerGroupInput
8527
+ # data as a hash:
8528
+ #
8529
+ # {
8530
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
8531
+ # role_arn: "IamRoleArn",
8532
+ # instance_definitions: [
8533
+ # {
8534
+ # 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, 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, 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
8535
+ # weighted_capacity: "WeightedCapacity",
8536
+ # },
8537
+ # ],
8538
+ # game_server_protection_policy: "NO_PROTECTION", # accepts NO_PROTECTION, FULL_PROTECTION
8539
+ # balancing_strategy: "SPOT_ONLY", # accepts SPOT_ONLY, SPOT_PREFERRED
8540
+ # }
8541
+ #
8542
+ # @!attribute [rw] game_server_group_name
8543
+ # The unique identifier of the game server group to update. Use either
8544
+ # the GameServerGroup name or ARN value.
8545
+ # @return [String]
8546
+ #
8547
+ # @!attribute [rw] role_arn
8548
+ # The Amazon Resource Name ([ARN][1]) for an IAM role that allows
8549
+ # Amazon GameLift to access your EC2 Auto Scaling groups. The
8550
+ # submitted role is validated to ensure that it contains the necessary
8551
+ # permissions for game server groups.
8552
+ #
8553
+ #
8554
+ #
8555
+ # [1]: https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
8556
+ # @return [String]
8557
+ #
8558
+ # @!attribute [rw] instance_definitions
8559
+ # An updated list of EC2 instance types to use when creating instances
8560
+ # in the group. The instance definition must specify instance types
8561
+ # that are supported by GameLift FleetIQ, and must include at least
8562
+ # two instance types. This updated list replaces the entire current
8563
+ # list of instance definitions for the game server group. For more
8564
+ # information on instance types, see [EC2 Instance Types][1] in the
8565
+ # *Amazon EC2 User Guide*..
8566
+ #
8567
+ #
8568
+ #
8569
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html
8570
+ # @return [Array<Types::InstanceDefinition>]
8571
+ #
8572
+ # @!attribute [rw] game_server_protection_policy
8573
+ # A flag that indicates whether instances in the game server group are
8574
+ # protected from early termination. Unprotected instances that have
8575
+ # active game servers running may by terminated during a scale-down
8576
+ # event, causing players to be dropped from the game. Protected
8577
+ # instances cannot be terminated while there are active game servers
8578
+ # running. An exception to this is Spot Instances, which may be
8579
+ # terminated by AWS regardless of protection status. This property is
8580
+ # set to NO\_PROTECTION by default.
8581
+ # @return [String]
8582
+ #
8583
+ # @!attribute [rw] balancing_strategy
8584
+ # The fallback balancing method to use for the game server group when
8585
+ # Spot instances in a Region become unavailable or are not viable for
8586
+ # game hosting. Once triggered, this method remains active until Spot
8587
+ # instances can once again be used. Method options include:
8588
+ #
8589
+ # * SPOT\_ONLY -- If Spot instances are unavailable, the game server
8590
+ # group provides no hosting capacity. No new instances are started,
8591
+ # and the existing nonviable Spot instances are terminated (once
8592
+ # current gameplay ends) and not replaced.
8593
+ #
8594
+ # * SPOT\_PREFERRED -- If Spot instances are unavailable, the game
8595
+ # server group continues to provide hosting capacity by using
8596
+ # On-Demand instances. Existing nonviable Spot instances are
8597
+ # terminated (once current gameplay ends) and replaced with new
8598
+ # On-Demand instances.
8599
+ # @return [String]
8600
+ #
8601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerGroupInput AWS API Documentation
8602
+ #
8603
+ class UpdateGameServerGroupInput < Struct.new(
8604
+ :game_server_group_name,
8605
+ :role_arn,
8606
+ :instance_definitions,
8607
+ :game_server_protection_policy,
8608
+ :balancing_strategy)
8609
+ include Aws::Structure
8610
+ end
8611
+
8612
+ # @!attribute [rw] game_server_group
8613
+ # An object that describes the game server group resource with updated
8614
+ # properties.
8615
+ # @return [Types::GameServerGroup]
8616
+ #
8617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerGroupOutput AWS API Documentation
8618
+ #
8619
+ class UpdateGameServerGroupOutput < Struct.new(
8620
+ :game_server_group)
8621
+ include Aws::Structure
8622
+ end
8623
+
8624
+ # @note When making an API call, you may pass UpdateGameServerInput
8625
+ # data as a hash:
8626
+ #
8627
+ # {
8628
+ # game_server_group_name: "GameServerGroupNameOrArn", # required
8629
+ # game_server_id: "GameServerId", # required
8630
+ # game_server_data: "GameServerData",
8631
+ # custom_sort_key: "GameServerSortKey",
8632
+ # utilization_status: "AVAILABLE", # accepts AVAILABLE, UTILIZED
8633
+ # health_check: "HEALTHY", # accepts HEALTHY
8634
+ # }
8635
+ #
8636
+ # @!attribute [rw] game_server_group_name
8637
+ # An identifier for the game server group where the game server is
8638
+ # running. Use either the GameServerGroup name or ARN value.
8639
+ # @return [String]
8640
+ #
8641
+ # @!attribute [rw] game_server_id
8642
+ # The identifier for the game server to be updated.
8643
+ # @return [String]
8644
+ #
8645
+ # @!attribute [rw] game_server_data
8646
+ # A set of custom game server properties, formatted as a single string
8647
+ # value. This data is passed to a game client or service when it
8648
+ # requests information on a game servers using DescribeGameServer or
8649
+ # ClaimGameServer.
8650
+ # @return [String]
8651
+ #
8652
+ # @!attribute [rw] custom_sort_key
8653
+ # A game server tag that can be used to request sorted lists of game
8654
+ # servers using ListGameServers. Custom sort keys are
8655
+ # developer-defined based on how you want to organize the retrieved
8656
+ # game server information.
8657
+ # @return [String]
8658
+ #
8659
+ # @!attribute [rw] utilization_status
8660
+ # Indicates whether the game server is available or is currently
8661
+ # hosting gameplay.
8662
+ # @return [String]
8663
+ #
8664
+ # @!attribute [rw] health_check
8665
+ # Indicates health status of the game server. An update that
8666
+ # explicitly includes this parameter updates the game server's
8667
+ # *LastHealthCheckTime* time stamp.
8668
+ # @return [String]
8669
+ #
8670
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerInput AWS API Documentation
8671
+ #
8672
+ class UpdateGameServerInput < Struct.new(
8673
+ :game_server_group_name,
8674
+ :game_server_id,
8675
+ :game_server_data,
8676
+ :custom_sort_key,
8677
+ :utilization_status,
8678
+ :health_check)
8679
+ include Aws::Structure
8680
+ end
8681
+
8682
+ # @!attribute [rw] game_server
8683
+ # Object that describes the newly updated game server resource.
8684
+ # @return [Types::GameServer]
8685
+ #
8686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameServerOutput AWS API Documentation
8687
+ #
8688
+ class UpdateGameServerOutput < Struct.new(
8689
+ :game_server)
8690
+ include Aws::Structure
8691
+ end
8692
+
7475
8693
  # Represents the input for a request action.
7476
8694
  #
7477
8695
  # @note When making an API call, you may pass UpdateGameSessionInput
@@ -7544,7 +8762,7 @@ module Aws::GameLift
7544
8762
  # data as a hash:
7545
8763
  #
7546
8764
  # {
7547
- # name: "GameSessionQueueName", # required
8765
+ # name: "GameSessionQueueNameOrArn", # required
7548
8766
  # timeout_in_seconds: 1,
7549
8767
  # player_latency_policies: [
7550
8768
  # {
@@ -7790,7 +9008,7 @@ module Aws::GameLift
7790
9008
  # data as a hash:
7791
9009
  #
7792
9010
  # {
7793
- # fleet_id: "FleetId", # required
9011
+ # fleet_id: "FleetIdOrArn", # required
7794
9012
  # runtime_configuration: { # required
7795
9013
  # server_processes: [
7796
9014
  # {
@@ -7846,7 +9064,7 @@ module Aws::GameLift
7846
9064
  # data as a hash:
7847
9065
  #
7848
9066
  # {
7849
- # script_id: "ScriptId", # required
9067
+ # script_id: "ScriptIdOrArn", # required
7850
9068
  # name: "NonZeroAndMaxString",
7851
9069
  # version: "NonZeroAndMaxString",
7852
9070
  # storage_location: {