aws-sdk-gamelift 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,7 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module GameLift
10
+ module Errors
11
+
12
+ extend Aws::Errors::DynamicErrors
13
+
14
+ # Raised when calling #load or #data on a resource class that can not be
15
+ # loaded. This can happen when:
16
+ #
17
+ # * A resource class has identifiers, but no data attributes.
18
+ # * Resource data is only available when making an API call that
19
+ # enumerates all resources of that type.
20
+ class ResourceNotLoadable < RuntimeError; end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,25 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module GameLift
10
+ class Resource
11
+
12
+ # @param options ({})
13
+ # @option options [Client] :client
14
+ def initialize(options = {})
15
+ @client = options[:client] || Client.new(options)
16
+ end
17
+
18
+ # @return [Client]
19
+ def client
20
+ @client
21
+ end
22
+
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,3169 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws
9
+ module GameLift
10
+ module Types
11
+
12
+ # Properties describing a fleet alias.
13
+ # @!attribute [rw] alias_id
14
+ # Unique identifier for a fleet alias.
15
+ # @return [String]
16
+ #
17
+ # @!attribute [rw] name
18
+ # Descriptive label associated with an alias. Alias names do not need
19
+ # to be unique.
20
+ # @return [String]
21
+ #
22
+ # @!attribute [rw] description
23
+ # Human-readable description of an alias.
24
+ # @return [String]
25
+ #
26
+ # @!attribute [rw] routing_strategy
27
+ # Routing configuration for a fleet alias.
28
+ # @return [Types::RoutingStrategy]
29
+ #
30
+ # @!attribute [rw] creation_time
31
+ # Time stamp indicating when this data object was created. Format is a
32
+ # number expressed in Unix time as milliseconds (ex:
33
+ # "1469498468.057").
34
+ # @return [Time]
35
+ #
36
+ # @!attribute [rw] last_updated_time
37
+ # Time stamp indicating when this data object was last modified.
38
+ # Format is a number expressed in Unix time as milliseconds (ex:
39
+ # "1469498468.057").
40
+ # @return [Time]
41
+ class Alias < Struct.new(
42
+ :alias_id,
43
+ :name,
44
+ :description,
45
+ :routing_strategy,
46
+ :creation_time,
47
+ :last_updated_time)
48
+ include Aws::Structure
49
+ end
50
+
51
+ # AWS access credentials required to upload game build files to Amazon
52
+ # GameLift. These credentials are generated with CreateBuild, and are
53
+ # valid for a limited time. If they expire before you upload your game
54
+ # build, get a new set by calling RequestUploadCredentials.
55
+ # @!attribute [rw] access_key_id
56
+ # Access key for an AWS account.
57
+ # @return [String]
58
+ #
59
+ # @!attribute [rw] secret_access_key
60
+ # Secret key for an AWS account.
61
+ # @return [String]
62
+ #
63
+ # @!attribute [rw] session_token
64
+ # Token specific to a build ID.
65
+ # @return [String]
66
+ class AwsCredentials < Struct.new(
67
+ :access_key_id,
68
+ :secret_access_key,
69
+ :session_token)
70
+ include Aws::Structure
71
+ end
72
+
73
+ # Properties describing a game build.
74
+ # @!attribute [rw] build_id
75
+ # Unique identifier for a build.
76
+ # @return [String]
77
+ #
78
+ # @!attribute [rw] name
79
+ # Descriptive label associated with a build. Build names do not need
80
+ # to be unique. It can be set using CreateBuild or UpdateBuild.
81
+ # @return [String]
82
+ #
83
+ # @!attribute [rw] version
84
+ # Version associated with this build. Version strings do not need to
85
+ # be unique to a build. This value can be set using CreateBuild or
86
+ # UpdateBuild.
87
+ # @return [String]
88
+ #
89
+ # @!attribute [rw] status
90
+ # Current status of the build.
91
+ #
92
+ # Possible build statuses include the following:
93
+ #
94
+ # * **INITIALIZED** – A new build has been defined, but no files have
95
+ # been uploaded. You cannot create fleets for builds that are in
96
+ # this status. When a build is successfully created, the build
97
+ # status is set to this value.
98
+ #
99
+ # * **READY** – The game build has been successfully uploaded. You can
100
+ # now create new fleets for this build.
101
+ #
102
+ # * **FAILED** – The game build upload failed. You cannot create new
103
+ # fleets for this build.
104
+ # @return [String]
105
+ #
106
+ # @!attribute [rw] size_on_disk
107
+ # File size of the uploaded game build, expressed in bytes. When the
108
+ # build status is `INITIALIZED`, this value is 0.
109
+ # @return [Integer]
110
+ #
111
+ # @!attribute [rw] operating_system
112
+ # Operating system that the game server binaries are built to run on.
113
+ # This value determines the type of fleet resources that you can use
114
+ # for this build.
115
+ # @return [String]
116
+ #
117
+ # @!attribute [rw] creation_time
118
+ # Time stamp indicating when this data object was created. Format is a
119
+ # number expressed in Unix time as milliseconds (ex:
120
+ # "1469498468.057").
121
+ # @return [Time]
122
+ class Build < Struct.new(
123
+ :build_id,
124
+ :name,
125
+ :version,
126
+ :status,
127
+ :size_on_disk,
128
+ :operating_system,
129
+ :creation_time)
130
+ include Aws::Structure
131
+ end
132
+
133
+ # Represents the input for a request action.
134
+ # @note When making an API call, pass CreateAliasInput
135
+ # data as a hash:
136
+ #
137
+ # {
138
+ # name: "NonBlankAndLengthConstraintString", # required
139
+ # description: "NonZeroAndMaxString",
140
+ # routing_strategy: { # required
141
+ # type: "SIMPLE", # accepts SIMPLE, TERMINAL
142
+ # fleet_id: "FleetId",
143
+ # message: "FreeText",
144
+ # },
145
+ # }
146
+ # @!attribute [rw] name
147
+ # Descriptive label associated with an alias. Alias names do not need
148
+ # to be unique.
149
+ # @return [String]
150
+ #
151
+ # @!attribute [rw] description
152
+ # Human-readable description of an alias.
153
+ # @return [String]
154
+ #
155
+ # @!attribute [rw] routing_strategy
156
+ # Object specifying the fleet and routing type to use for the alias.
157
+ # @return [Types::RoutingStrategy]
158
+ class CreateAliasInput < Struct.new(
159
+ :name,
160
+ :description,
161
+ :routing_strategy)
162
+ include Aws::Structure
163
+ end
164
+
165
+ # Represents the returned data in response to a request action.
166
+ # @!attribute [rw] alias
167
+ # Object containing the newly created alias record.
168
+ # @return [Types::Alias]
169
+ class CreateAliasOutput < Struct.new(
170
+ :alias)
171
+ include Aws::Structure
172
+ end
173
+
174
+ # Represents the input for a request action.
175
+ # @note When making an API call, pass CreateBuildInput
176
+ # data as a hash:
177
+ #
178
+ # {
179
+ # name: "NonZeroAndMaxString",
180
+ # version: "NonZeroAndMaxString",
181
+ # storage_location: {
182
+ # bucket: "NonEmptyString",
183
+ # key: "NonEmptyString",
184
+ # role_arn: "NonEmptyString",
185
+ # },
186
+ # operating_system: "WINDOWS_2012", # accepts WINDOWS_2012, AMAZON_LINUX
187
+ # }
188
+ # @!attribute [rw] name
189
+ # Descriptive label associated with a build. Build names do not need
190
+ # to be unique. A build name can be changed later using` UpdateBuild
191
+ # `.
192
+ # @return [String]
193
+ #
194
+ # @!attribute [rw] version
195
+ # Version associated with this build. Version strings do not need to
196
+ # be unique to a build. A build version can be changed later using`
197
+ # UpdateBuild `.
198
+ # @return [String]
199
+ #
200
+ # @!attribute [rw] storage_location
201
+ # Location in Amazon Simple Storage Service (Amazon S3) where a
202
+ # build's files are stored. This location is assigned in response to
203
+ # a CreateBuild call, and is always in the same region as the service
204
+ # used to create the build. For more details see the [Amazon S3
205
+ # documentation][1].
206
+ #
207
+ #
208
+ #
209
+ # [1]: http://aws.amazon.com/documentation/s3/
210
+ # @return [Types::S3Location]
211
+ #
212
+ # @!attribute [rw] operating_system
213
+ # Operating system that the game server binaries are built to run on.
214
+ # This value determines the type of fleet resources that you can use
215
+ # for this build.
216
+ # @return [String]
217
+ class CreateBuildInput < Struct.new(
218
+ :name,
219
+ :version,
220
+ :storage_location,
221
+ :operating_system)
222
+ include Aws::Structure
223
+ end
224
+
225
+ # Represents the returned data in response to a request action.
226
+ # @!attribute [rw] build
227
+ # Set of properties for the newly created build.
228
+ # @return [Types::Build]
229
+ #
230
+ # @!attribute [rw] upload_credentials
231
+ # AWS credentials required when uploading a game build to the storage
232
+ # location. These credentials have a limited lifespan and are valid
233
+ # only for the build they were issued for. If you need to get fresh
234
+ # credentials, call` RequestUploadCredentials `.
235
+ # @return [Types::AwsCredentials]
236
+ #
237
+ # @!attribute [rw] storage_location
238
+ # Amazon S3 path and key, identifying where the game build files are
239
+ # stored.
240
+ # @return [Types::S3Location]
241
+ class CreateBuildOutput < Struct.new(
242
+ :build,
243
+ :upload_credentials,
244
+ :storage_location)
245
+ include Aws::Structure
246
+ end
247
+
248
+ # Represents the input for a request action.
249
+ # @note When making an API call, pass CreateFleetInput
250
+ # data as a hash:
251
+ #
252
+ # {
253
+ # name: "NonZeroAndMaxString", # required
254
+ # description: "NonZeroAndMaxString",
255
+ # build_id: "BuildId", # required
256
+ # server_launch_path: "NonZeroAndMaxString",
257
+ # server_launch_parameters: "NonZeroAndMaxString",
258
+ # log_paths: ["NonZeroAndMaxString"],
259
+ # ec2_instance_type: "t2.micro", # required, accepts t2.micro, t2.small, t2.medium, t2.large, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge
260
+ # ec2_inbound_permissions: [
261
+ # {
262
+ # from_port: 1, # required
263
+ # to_port: 1, # required
264
+ # ip_range: "NonBlankString", # required
265
+ # protocol: "TCP", # required, accepts TCP, UDP
266
+ # },
267
+ # ],
268
+ # new_game_session_protection_policy: "NoProtection", # accepts NoProtection, FullProtection
269
+ # runtime_configuration: {
270
+ # server_processes: [
271
+ # {
272
+ # launch_path: "NonZeroAndMaxString", # required
273
+ # parameters: "NonZeroAndMaxString",
274
+ # concurrent_executions: 1, # required
275
+ # },
276
+ # ],
277
+ # },
278
+ # resource_creation_limit_policy: {
279
+ # new_game_sessions_per_creator: 1,
280
+ # policy_period_in_minutes: 1,
281
+ # },
282
+ # }
283
+ # @!attribute [rw] name
284
+ # Descriptive label associated with a fleet. Fleet names do not need
285
+ # to be unique.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] description
289
+ # Human-readable description of a fleet.
290
+ # @return [String]
291
+ #
292
+ # @!attribute [rw] build_id
293
+ # Unique identifier of the build to be deployed on the new fleet. The
294
+ # build must have been successfully uploaded to GameLift and be in a
295
+ # `READY` status. This fleet setting cannot be changed once the fleet
296
+ # is created.
297
+ # @return [String]
298
+ #
299
+ # @!attribute [rw] server_launch_path
300
+ # This parameter is no longer used. Instead, specify a server launch
301
+ # path using the `RuntimeConfiguration` parameter. (Requests that
302
+ # specify a server launch path and launch parameters instead of a
303
+ # runtime configuration will continue to work.)
304
+ # @return [String]
305
+ #
306
+ # @!attribute [rw] server_launch_parameters
307
+ # This parameter is no longer used. Instead, specify server launch
308
+ # parameters in the `RuntimeConfiguration` parameter. (Requests that
309
+ # specify a server launch path and launch parameters instead of a
310
+ # runtime configuration will continue to work.)
311
+ # @return [String]
312
+ #
313
+ # @!attribute [rw] log_paths
314
+ # Location of default log files. When a server process is shut down,
315
+ # Amazon GameLift captures and stores any log files in this location.
316
+ # These logs are in addition to game session logs; see more on game
317
+ # session logs in the [Amazon GameLift Developer Guide][1]. If no
318
+ # default log path for a fleet is specified, GameLift will
319
+ # automatically upload logs stored on each instance at `C:\game\logs`
320
+ # (for Windows) or `/local/game/logs` (for Linux). Use the GameLift
321
+ # console to access stored logs.
322
+ #
323
+ #
324
+ #
325
+ # [1]: http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code
326
+ # @return [Array<String>]
327
+ #
328
+ # @!attribute [rw] ec2_instance_type
329
+ # Name of an EC2 instance type that is supported in Amazon GameLift. A
330
+ # fleet instance type determines the computing resources of each
331
+ # instance in the fleet, including CPU, memory, storage, and
332
+ # networking capacity. GameLift supports the following EC2 instance
333
+ # types. See [Amazon EC2 Instance Types][1] for detailed descriptions.
334
+ #
335
+ #
336
+ #
337
+ # [1]: http://aws.amazon.com/ec2/instance-types/
338
+ # @return [String]
339
+ #
340
+ # @!attribute [rw] ec2_inbound_permissions
341
+ # Range of IP addresses and port settings that permit inbound traffic
342
+ # to access server processes running on the fleet. If no inbound
343
+ # permissions are set, including both IP address range and port range,
344
+ # the server processes in the fleet cannot accept connections. You can
345
+ # specify one or more sets of permissions for a fleet.
346
+ # @return [Array<Types::IpPermission>]
347
+ #
348
+ # @!attribute [rw] new_game_session_protection_policy
349
+ # Game session protection policy to apply to all instances in this
350
+ # fleet. If this parameter is not set, instances in this fleet default
351
+ # to no protection. You can change a fleet's protection policy using
352
+ # UpdateFleetAttributes, but this change will only affect sessions
353
+ # created after the policy change. You can also set protection for
354
+ # individual instances using UpdateGameSession.
355
+ #
356
+ # * **NoProtection** – The game session can be terminated during a
357
+ # scale-down event.
358
+ #
359
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
360
+ # it cannot be terminated during a scale-down event.
361
+ # @return [String]
362
+ #
363
+ # @!attribute [rw] runtime_configuration
364
+ # Instructions for launching server processes on each instance in the
365
+ # fleet. The runtime configuration for a fleet has a collection of
366
+ # server process configurations, one for each type of server process
367
+ # to run on an instance. A server process configuration specifies the
368
+ # location of the server executable, launch parameters, and the number
369
+ # of concurrent processes with that configuration to maintain on each
370
+ # instance. A `CreateFleet` request must include a runtime
371
+ # configuration with at least one server process configuration;
372
+ # otherwise the request will fail with an invalid request exception.
373
+ # (This parameter replaces the parameters `ServerLaunchPath` and
374
+ # `ServerLaunchParameters`; requests that contain values for these
375
+ # parameters instead of a runtime configuration will continue to
376
+ # work.)
377
+ # @return [Types::RuntimeConfiguration]
378
+ #
379
+ # @!attribute [rw] resource_creation_limit_policy
380
+ # Policy that limits the number of game sessions an individual player
381
+ # can create over a span of time for this fleet.
382
+ # @return [Types::ResourceCreationLimitPolicy]
383
+ class CreateFleetInput < Struct.new(
384
+ :name,
385
+ :description,
386
+ :build_id,
387
+ :server_launch_path,
388
+ :server_launch_parameters,
389
+ :log_paths,
390
+ :ec2_instance_type,
391
+ :ec2_inbound_permissions,
392
+ :new_game_session_protection_policy,
393
+ :runtime_configuration,
394
+ :resource_creation_limit_policy)
395
+ include Aws::Structure
396
+ end
397
+
398
+ # Represents the returned data in response to a request action.
399
+ # @!attribute [rw] fleet_attributes
400
+ # Properties for the newly created fleet.
401
+ # @return [Types::FleetAttributes]
402
+ class CreateFleetOutput < Struct.new(
403
+ :fleet_attributes)
404
+ include Aws::Structure
405
+ end
406
+
407
+ # Represents the input for a request action.
408
+ # @note When making an API call, pass CreateGameSessionInput
409
+ # data as a hash:
410
+ #
411
+ # {
412
+ # fleet_id: "FleetId",
413
+ # alias_id: "AliasId",
414
+ # maximum_player_session_count: 1, # required
415
+ # name: "NonZeroAndMaxString",
416
+ # game_properties: [
417
+ # {
418
+ # key: "GamePropertyKey", # required
419
+ # value: "GamePropertyValue", # required
420
+ # },
421
+ # ],
422
+ # creator_id: "NonZeroAndMaxString",
423
+ # game_session_id: "IdStringModel",
424
+ # }
425
+ # @!attribute [rw] fleet_id
426
+ # Unique identifier for a fleet. Each request must reference either a
427
+ # fleet ID or alias ID, but not both.
428
+ # @return [String]
429
+ #
430
+ # @!attribute [rw] alias_id
431
+ # Unique identifier for a fleet alias. Each request must reference
432
+ # either a fleet ID or alias ID, but not both.
433
+ # @return [String]
434
+ #
435
+ # @!attribute [rw] maximum_player_session_count
436
+ # Maximum number of players that can be connected simultaneously to
437
+ # the game session.
438
+ # @return [Integer]
439
+ #
440
+ # @!attribute [rw] name
441
+ # Descriptive label associated with a game session. Session names do
442
+ # not need to be unique.
443
+ # @return [String]
444
+ #
445
+ # @!attribute [rw] game_properties
446
+ # Set of properties used to administer a game session. These
447
+ # properties are passed to the server process hosting it.
448
+ # @return [Array<Types::GameProperty>]
449
+ #
450
+ # @!attribute [rw] creator_id
451
+ # Player ID identifying the person or entity creating the game
452
+ # session. This ID is used to enforce a resource protection policy (if
453
+ # one exists) that limits the number of concurrent active game
454
+ # sessions one player can have.
455
+ # @return [String]
456
+ #
457
+ # @!attribute [rw] game_session_id
458
+ # Custom string to include in the game session ID, with a maximum
459
+ # length of 48 characters. If this parameter is set, GameLift creates
460
+ # a game session ID in the following format:
461
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
462
+ # ID&gt;/&lt;custom ID string&gt;". For example, this full game
463
+ # session ID:
464
+ # "arn:aws:gamelift:us-west-2::gamesession/fleet-2ec2aae5-c2c7-43ca-b19d-8249fe5fddf2/my-game-session"
465
+ # includes the custom ID string "my-game-session". If this parameter
466
+ # is not set, GameLift creates a game session ID in the same format
467
+ # with an autogenerated ID string.
468
+ # @return [String]
469
+ class CreateGameSessionInput < Struct.new(
470
+ :fleet_id,
471
+ :alias_id,
472
+ :maximum_player_session_count,
473
+ :name,
474
+ :game_properties,
475
+ :creator_id,
476
+ :game_session_id)
477
+ include Aws::Structure
478
+ end
479
+
480
+ # Represents the returned data in response to a request action.
481
+ # @!attribute [rw] game_session
482
+ # Object containing the newly created game session record.
483
+ # @return [Types::GameSession]
484
+ class CreateGameSessionOutput < Struct.new(
485
+ :game_session)
486
+ include Aws::Structure
487
+ end
488
+
489
+ # Represents the input for a request action.
490
+ # @note When making an API call, pass CreatePlayerSessionInput
491
+ # data as a hash:
492
+ #
493
+ # {
494
+ # game_session_id: "ArnStringModel", # required
495
+ # player_id: "NonZeroAndMaxString", # required
496
+ # }
497
+ # @!attribute [rw] game_session_id
498
+ # Unique identifier for the game session to add a player to. Game
499
+ # session ID format is as follows:
500
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
501
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
502
+ # a custom ID string (if one was specified when the game session was
503
+ # created) an autogenerated string.
504
+ # @return [String]
505
+ #
506
+ # @!attribute [rw] player_id
507
+ # Unique identifier for the player to be added.
508
+ # @return [String]
509
+ class CreatePlayerSessionInput < Struct.new(
510
+ :game_session_id,
511
+ :player_id)
512
+ include Aws::Structure
513
+ end
514
+
515
+ # Represents the returned data in response to a request action.
516
+ # @!attribute [rw] player_session
517
+ # Object containing the newly created player session record.
518
+ # @return [Types::PlayerSession]
519
+ class CreatePlayerSessionOutput < Struct.new(
520
+ :player_session)
521
+ include Aws::Structure
522
+ end
523
+
524
+ # Represents the input for a request action.
525
+ # @note When making an API call, pass CreatePlayerSessionsInput
526
+ # data as a hash:
527
+ #
528
+ # {
529
+ # game_session_id: "ArnStringModel", # required
530
+ # player_ids: ["NonZeroAndMaxString"], # required
531
+ # }
532
+ # @!attribute [rw] game_session_id
533
+ # Unique identifier for the game session to add players to. Game
534
+ # session ID format is as follows:
535
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
536
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
537
+ # a custom ID string (if one was specified when the game session was
538
+ # created) an autogenerated string.
539
+ # @return [String]
540
+ #
541
+ # @!attribute [rw] player_ids
542
+ # List of unique identifiers for the players to be added.
543
+ # @return [Array<String>]
544
+ class CreatePlayerSessionsInput < Struct.new(
545
+ :game_session_id,
546
+ :player_ids)
547
+ include Aws::Structure
548
+ end
549
+
550
+ # Represents the returned data in response to a request action.
551
+ # @!attribute [rw] player_sessions
552
+ # Collection of player session objects created for the added players.
553
+ # @return [Array<Types::PlayerSession>]
554
+ class CreatePlayerSessionsOutput < Struct.new(
555
+ :player_sessions)
556
+ include Aws::Structure
557
+ end
558
+
559
+ # Represents the input for a request action.
560
+ # @note When making an API call, pass DeleteAliasInput
561
+ # data as a hash:
562
+ #
563
+ # {
564
+ # alias_id: "AliasId", # required
565
+ # }
566
+ # @!attribute [rw] alias_id
567
+ # Unique identifier for a fleet alias. Specify the alias you want to
568
+ # delete.
569
+ # @return [String]
570
+ class DeleteAliasInput < Struct.new(
571
+ :alias_id)
572
+ include Aws::Structure
573
+ end
574
+
575
+ # Represents the input for a request action.
576
+ # @note When making an API call, pass DeleteBuildInput
577
+ # data as a hash:
578
+ #
579
+ # {
580
+ # build_id: "BuildId", # required
581
+ # }
582
+ # @!attribute [rw] build_id
583
+ # Unique identifier for the build you want to delete.
584
+ # @return [String]
585
+ class DeleteBuildInput < Struct.new(
586
+ :build_id)
587
+ include Aws::Structure
588
+ end
589
+
590
+ # Represents the input for a request action.
591
+ # @note When making an API call, pass DeleteFleetInput
592
+ # data as a hash:
593
+ #
594
+ # {
595
+ # fleet_id: "FleetId", # required
596
+ # }
597
+ # @!attribute [rw] fleet_id
598
+ # Unique identifier for the fleet you want to delete.
599
+ # @return [String]
600
+ class DeleteFleetInput < Struct.new(
601
+ :fleet_id)
602
+ include Aws::Structure
603
+ end
604
+
605
+ # Represents the input for a request action.
606
+ # @note When making an API call, pass DeleteScalingPolicyInput
607
+ # data as a hash:
608
+ #
609
+ # {
610
+ # name: "NonZeroAndMaxString", # required
611
+ # fleet_id: "FleetId", # required
612
+ # }
613
+ # @!attribute [rw] name
614
+ # Descriptive label associated with a scaling policy. Policy names do
615
+ # not need to be unique.
616
+ # @return [String]
617
+ #
618
+ # @!attribute [rw] fleet_id
619
+ # Unique identifier for a fleet.
620
+ # @return [String]
621
+ class DeleteScalingPolicyInput < Struct.new(
622
+ :name,
623
+ :fleet_id)
624
+ include Aws::Structure
625
+ end
626
+
627
+ # Represents the input for a request action.
628
+ # @note When making an API call, pass DescribeAliasInput
629
+ # data as a hash:
630
+ #
631
+ # {
632
+ # alias_id: "AliasId", # required
633
+ # }
634
+ # @!attribute [rw] alias_id
635
+ # Unique identifier for a fleet alias. Specify the alias you want to
636
+ # retrieve.
637
+ # @return [String]
638
+ class DescribeAliasInput < Struct.new(
639
+ :alias_id)
640
+ include Aws::Structure
641
+ end
642
+
643
+ # Represents the returned data in response to a request action.
644
+ # @!attribute [rw] alias
645
+ # Object containing the requested alias.
646
+ # @return [Types::Alias]
647
+ class DescribeAliasOutput < Struct.new(
648
+ :alias)
649
+ include Aws::Structure
650
+ end
651
+
652
+ # Represents the input for a request action.
653
+ # @note When making an API call, pass DescribeBuildInput
654
+ # data as a hash:
655
+ #
656
+ # {
657
+ # build_id: "BuildId", # required
658
+ # }
659
+ # @!attribute [rw] build_id
660
+ # Unique identifier of the build that you want to retrieve properties
661
+ # for.
662
+ # @return [String]
663
+ class DescribeBuildInput < Struct.new(
664
+ :build_id)
665
+ include Aws::Structure
666
+ end
667
+
668
+ # Represents the returned data in response to a request action.
669
+ # @!attribute [rw] build
670
+ # Set of properties describing the requested build.
671
+ # @return [Types::Build]
672
+ class DescribeBuildOutput < Struct.new(
673
+ :build)
674
+ include Aws::Structure
675
+ end
676
+
677
+ # Represents the input for a request action.
678
+ # @note When making an API call, pass DescribeEC2InstanceLimitsInput
679
+ # data as a hash:
680
+ #
681
+ # {
682
+ # ec2_instance_type: "t2.micro", # accepts t2.micro, t2.small, t2.medium, t2.large, c3.large, c3.xlarge, c3.2xlarge, c3.4xlarge, c3.8xlarge, c4.large, c4.xlarge, c4.2xlarge, c4.4xlarge, c4.8xlarge, r3.large, r3.xlarge, r3.2xlarge, r3.4xlarge, r3.8xlarge, m3.medium, m3.large, m3.xlarge, m3.2xlarge, m4.large, m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge
683
+ # }
684
+ # @!attribute [rw] ec2_instance_type
685
+ # Name of an EC2 instance type that is supported in Amazon GameLift. A
686
+ # fleet instance type determines the computing resources of each
687
+ # instance in the fleet, including CPU, memory, storage, and
688
+ # networking capacity. GameLift supports the following EC2 instance
689
+ # types. See [Amazon EC2 Instance Types][1] for detailed descriptions.
690
+ # Leave this parameter blank to retrieve limits for all types.
691
+ #
692
+ #
693
+ #
694
+ # [1]: http://aws.amazon.com/ec2/instance-types/
695
+ # @return [String]
696
+ class DescribeEC2InstanceLimitsInput < Struct.new(
697
+ :ec2_instance_type)
698
+ include Aws::Structure
699
+ end
700
+
701
+ # Represents the returned data in response to a request action.
702
+ # @!attribute [rw] ec2_instance_limits
703
+ # Object containing the maximum number of instances for the specified
704
+ # instance type.
705
+ # @return [Array<Types::EC2InstanceLimit>]
706
+ class DescribeEC2InstanceLimitsOutput < Struct.new(
707
+ :ec2_instance_limits)
708
+ include Aws::Structure
709
+ end
710
+
711
+ # Represents the input for a request action.
712
+ # @note When making an API call, pass DescribeFleetAttributesInput
713
+ # data as a hash:
714
+ #
715
+ # {
716
+ # fleet_ids: ["FleetId"],
717
+ # limit: 1,
718
+ # next_token: "NonZeroAndMaxString",
719
+ # }
720
+ # @!attribute [rw] fleet_ids
721
+ # Unique identifiers for the fleet(s) that you want to retrieve
722
+ # attributes for. To request attributes for all fleets, leave this
723
+ # parameter empty.
724
+ # @return [Array<String>]
725
+ #
726
+ # @!attribute [rw] limit
727
+ # Maximum number of results to return. Use this parameter with
728
+ # `NextToken` to get results as a set of sequential pages. This
729
+ # parameter is ignored when the request specifies one or a list of
730
+ # fleet IDs.
731
+ # @return [Integer]
732
+ #
733
+ # @!attribute [rw] next_token
734
+ # Token indicating the start of the next sequential page of results.
735
+ # Use the token that is returned with a previous call to this action.
736
+ # To specify the start of the result set, do not specify a value. This
737
+ # parameter is ignored when the request specifies one or a list of
738
+ # fleet IDs.
739
+ # @return [String]
740
+ class DescribeFleetAttributesInput < Struct.new(
741
+ :fleet_ids,
742
+ :limit,
743
+ :next_token)
744
+ include Aws::Structure
745
+ end
746
+
747
+ # Represents the returned data in response to a request action.
748
+ # @!attribute [rw] fleet_attributes
749
+ # Collection of objects containing attribute metadata for each
750
+ # requested fleet ID.
751
+ # @return [Array<Types::FleetAttributes>]
752
+ #
753
+ # @!attribute [rw] next_token
754
+ # Token indicating where to resume retrieving results on the next call
755
+ # to this action. If no token is returned, these results represent the
756
+ # end of the list.
757
+ # @return [String]
758
+ class DescribeFleetAttributesOutput < Struct.new(
759
+ :fleet_attributes,
760
+ :next_token)
761
+ include Aws::Structure
762
+ end
763
+
764
+ # Represents the input for a request action.
765
+ # @note When making an API call, pass DescribeFleetCapacityInput
766
+ # data as a hash:
767
+ #
768
+ # {
769
+ # fleet_ids: ["FleetId"],
770
+ # limit: 1,
771
+ # next_token: "NonZeroAndMaxString",
772
+ # }
773
+ # @!attribute [rw] fleet_ids
774
+ # Unique identifier for the fleet(s) you want to retrieve capacity
775
+ # information for. To request capacity information for all fleets,
776
+ # leave this parameter empty.
777
+ # @return [Array<String>]
778
+ #
779
+ # @!attribute [rw] limit
780
+ # Maximum number of results to return. Use this parameter with
781
+ # `NextToken` to get results as a set of sequential pages. This
782
+ # parameter is ignored when the request specifies one or a list of
783
+ # fleet IDs.
784
+ # @return [Integer]
785
+ #
786
+ # @!attribute [rw] next_token
787
+ # Token indicating the start of the next sequential page of results.
788
+ # Use the token that is returned with a previous call to this action.
789
+ # To specify the start of the result set, do not specify a value. This
790
+ # parameter is ignored when the request specifies one or a list of
791
+ # fleet IDs.
792
+ # @return [String]
793
+ class DescribeFleetCapacityInput < Struct.new(
794
+ :fleet_ids,
795
+ :limit,
796
+ :next_token)
797
+ include Aws::Structure
798
+ end
799
+
800
+ # Represents the returned data in response to a request action.
801
+ # @!attribute [rw] fleet_capacity
802
+ # Collection of objects containing capacity information for each
803
+ # requested fleet ID. Leave this parameter empty to retrieve capacity
804
+ # information for all fleets.
805
+ # @return [Array<Types::FleetCapacity>]
806
+ #
807
+ # @!attribute [rw] next_token
808
+ # Token indicating where to resume retrieving results on the next call
809
+ # to this action. If no token is returned, these results represent the
810
+ # end of the list.
811
+ # @return [String]
812
+ class DescribeFleetCapacityOutput < Struct.new(
813
+ :fleet_capacity,
814
+ :next_token)
815
+ include Aws::Structure
816
+ end
817
+
818
+ # Represents the input for a request action.
819
+ # @note When making an API call, pass DescribeFleetEventsInput
820
+ # data as a hash:
821
+ #
822
+ # {
823
+ # fleet_id: "FleetId", # required
824
+ # start_time: Time.now,
825
+ # end_time: Time.now,
826
+ # limit: 1,
827
+ # next_token: "NonZeroAndMaxString",
828
+ # }
829
+ # @!attribute [rw] fleet_id
830
+ # Unique identifier for the fleet to get event logs for.
831
+ # @return [String]
832
+ #
833
+ # @!attribute [rw] start_time
834
+ # Earliest date to retrieve event logs for. If no start time is
835
+ # specified, this call returns entries starting from when the fleet
836
+ # was created to the specified end time. Format is a number expressed
837
+ # in Unix time as milliseconds (ex: "1469498468.057").
838
+ # @return [Time]
839
+ #
840
+ # @!attribute [rw] end_time
841
+ # Most recent date to retrieve event logs for. If no end time is
842
+ # specified, this call returns entries from the specified start time
843
+ # up to the present. Format is a number expressed in Unix time as
844
+ # milliseconds (ex: "1469498468.057").
845
+ # @return [Time]
846
+ #
847
+ # @!attribute [rw] limit
848
+ # Maximum number of results to return. Use this parameter with
849
+ # `NextToken` to get results as a set of sequential pages.
850
+ # @return [Integer]
851
+ #
852
+ # @!attribute [rw] next_token
853
+ # Token indicating the start of the next sequential page of results.
854
+ # Use the token that is returned with a previous call to this action.
855
+ # To specify the start of the result set, do not specify a value.
856
+ # @return [String]
857
+ class DescribeFleetEventsInput < Struct.new(
858
+ :fleet_id,
859
+ :start_time,
860
+ :end_time,
861
+ :limit,
862
+ :next_token)
863
+ include Aws::Structure
864
+ end
865
+
866
+ # Represents the returned data in response to a request action.
867
+ # @!attribute [rw] events
868
+ # Collection of objects containing event log entries for the specified
869
+ # fleet.
870
+ # @return [Array<Types::Event>]
871
+ #
872
+ # @!attribute [rw] next_token
873
+ # Token indicating where to resume retrieving results on the next call
874
+ # to this action. If no token is returned, these results represent the
875
+ # end of the list.
876
+ # @return [String]
877
+ class DescribeFleetEventsOutput < Struct.new(
878
+ :events,
879
+ :next_token)
880
+ include Aws::Structure
881
+ end
882
+
883
+ # Represents the input for a request action.
884
+ # @note When making an API call, pass DescribeFleetPortSettingsInput
885
+ # data as a hash:
886
+ #
887
+ # {
888
+ # fleet_id: "FleetId", # required
889
+ # }
890
+ # @!attribute [rw] fleet_id
891
+ # Unique identifier for the fleet you want to retrieve port settings
892
+ # for.
893
+ # @return [String]
894
+ class DescribeFleetPortSettingsInput < Struct.new(
895
+ :fleet_id)
896
+ include Aws::Structure
897
+ end
898
+
899
+ # Represents the returned data in response to a request action.
900
+ # @!attribute [rw] inbound_permissions
901
+ # Object containing port settings for the requested fleet ID.
902
+ # @return [Array<Types::IpPermission>]
903
+ class DescribeFleetPortSettingsOutput < Struct.new(
904
+ :inbound_permissions)
905
+ include Aws::Structure
906
+ end
907
+
908
+ # Represents the input for a request action.
909
+ # @note When making an API call, pass DescribeFleetUtilizationInput
910
+ # data as a hash:
911
+ #
912
+ # {
913
+ # fleet_ids: ["FleetId"],
914
+ # limit: 1,
915
+ # next_token: "NonZeroAndMaxString",
916
+ # }
917
+ # @!attribute [rw] fleet_ids
918
+ # Unique identifier for the fleet(s) you want to retrieve utilization
919
+ # data for. To request utilization data for all fleets, leave this
920
+ # parameter empty.
921
+ # @return [Array<String>]
922
+ #
923
+ # @!attribute [rw] limit
924
+ # Maximum number of results to return. Use this parameter with
925
+ # `NextToken` to get results as a set of sequential pages. This
926
+ # parameter is ignored when the request specifies one or a list of
927
+ # fleet IDs.
928
+ # @return [Integer]
929
+ #
930
+ # @!attribute [rw] next_token
931
+ # Token indicating the start of the next sequential page of results.
932
+ # Use the token that is returned with a previous call to this action.
933
+ # To specify the start of the result set, do not specify a value. This
934
+ # parameter is ignored when the request specifies one or a list of
935
+ # fleet IDs.
936
+ # @return [String]
937
+ class DescribeFleetUtilizationInput < Struct.new(
938
+ :fleet_ids,
939
+ :limit,
940
+ :next_token)
941
+ include Aws::Structure
942
+ end
943
+
944
+ # Represents the returned data in response to a request action.
945
+ # @!attribute [rw] fleet_utilization
946
+ # Collection of objects containing utilization information for each
947
+ # requested fleet ID.
948
+ # @return [Array<Types::FleetUtilization>]
949
+ #
950
+ # @!attribute [rw] next_token
951
+ # Token indicating where to resume retrieving results on the next call
952
+ # to this action. If no token is returned, these results represent the
953
+ # end of the list.
954
+ # @return [String]
955
+ class DescribeFleetUtilizationOutput < Struct.new(
956
+ :fleet_utilization,
957
+ :next_token)
958
+ include Aws::Structure
959
+ end
960
+
961
+ # Represents the input for a request action.
962
+ # @note When making an API call, pass DescribeGameSessionDetailsInput
963
+ # data as a hash:
964
+ #
965
+ # {
966
+ # fleet_id: "FleetId",
967
+ # game_session_id: "ArnStringModel",
968
+ # alias_id: "AliasId",
969
+ # status_filter: "NonZeroAndMaxString",
970
+ # limit: 1,
971
+ # next_token: "NonZeroAndMaxString",
972
+ # }
973
+ # @!attribute [rw] fleet_id
974
+ # Unique identifier for a fleet. Specify a fleet to retrieve
975
+ # information on all game sessions active on the fleet.
976
+ # @return [String]
977
+ #
978
+ # @!attribute [rw] game_session_id
979
+ # Unique identifier for the game session to retrieve information on.
980
+ # Game session ID format is as follows:
981
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
982
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
983
+ # a custom ID string (if one was specified when the game session was
984
+ # created) an autogenerated string.
985
+ # @return [String]
986
+ #
987
+ # @!attribute [rw] alias_id
988
+ # Unique identifier for a fleet alias. Specify an alias to retrieve
989
+ # information on all game sessions active on the fleet.
990
+ # @return [String]
991
+ #
992
+ # @!attribute [rw] status_filter
993
+ # Game session status to filter results on. Possible game session
994
+ # statuses include ACTIVE, `TERMINATED`, `ACTIVATING` and
995
+ # `TERMINATING` (the last two are transitory).
996
+ # @return [String]
997
+ #
998
+ # @!attribute [rw] limit
999
+ # Maximum number of results to return. Use this parameter with
1000
+ # `NextToken` to get results as a set of sequential pages.
1001
+ # @return [Integer]
1002
+ #
1003
+ # @!attribute [rw] next_token
1004
+ # Token indicating the start of the next sequential page of results.
1005
+ # Use the token that is returned with a previous call to this action.
1006
+ # To specify the start of the result set, do not specify a value.
1007
+ # @return [String]
1008
+ class DescribeGameSessionDetailsInput < Struct.new(
1009
+ :fleet_id,
1010
+ :game_session_id,
1011
+ :alias_id,
1012
+ :status_filter,
1013
+ :limit,
1014
+ :next_token)
1015
+ include Aws::Structure
1016
+ end
1017
+
1018
+ # Represents the returned data in response to a request action.
1019
+ # @!attribute [rw] game_session_details
1020
+ # Collection of objects containing game session properties and the
1021
+ # protection policy currently in force for each session matching the
1022
+ # request.
1023
+ # @return [Array<Types::GameSessionDetail>]
1024
+ #
1025
+ # @!attribute [rw] next_token
1026
+ # Token indicating where to resume retrieving results on the next call
1027
+ # to this action. If no token is returned, these results represent the
1028
+ # end of the list.
1029
+ # @return [String]
1030
+ class DescribeGameSessionDetailsOutput < Struct.new(
1031
+ :game_session_details,
1032
+ :next_token)
1033
+ include Aws::Structure
1034
+ end
1035
+
1036
+ # Represents the input for a request action.
1037
+ # @note When making an API call, pass DescribeGameSessionsInput
1038
+ # data as a hash:
1039
+ #
1040
+ # {
1041
+ # fleet_id: "FleetId",
1042
+ # game_session_id: "ArnStringModel",
1043
+ # alias_id: "AliasId",
1044
+ # status_filter: "NonZeroAndMaxString",
1045
+ # limit: 1,
1046
+ # next_token: "NonZeroAndMaxString",
1047
+ # }
1048
+ # @!attribute [rw] fleet_id
1049
+ # Unique identifier for a fleet. Specify a fleet to retrieve
1050
+ # information on all game sessions active on the fleet.
1051
+ # @return [String]
1052
+ #
1053
+ # @!attribute [rw] game_session_id
1054
+ # Unique identifier for the game session to retrieve information on.
1055
+ # Game session ID format is as follows:
1056
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1057
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
1058
+ # a custom ID string (if one was specified when the game session was
1059
+ # created) an autogenerated string.
1060
+ # @return [String]
1061
+ #
1062
+ # @!attribute [rw] alias_id
1063
+ # Unique identifier for a fleet alias. Specify an alias to retrieve
1064
+ # information on all game sessions active on the fleet.
1065
+ # @return [String]
1066
+ #
1067
+ # @!attribute [rw] status_filter
1068
+ # Game session status to filter results on. Possible game session
1069
+ # statuses include `ACTIVE`, `TERMINATED`, `ACTIVATING`, and
1070
+ # `TERMINATING` (the last two are transitory).
1071
+ # @return [String]
1072
+ #
1073
+ # @!attribute [rw] limit
1074
+ # Maximum number of results to return. Use this parameter with
1075
+ # `NextToken` to get results as a set of sequential pages.
1076
+ # @return [Integer]
1077
+ #
1078
+ # @!attribute [rw] next_token
1079
+ # Token indicating the start of the next sequential page of results.
1080
+ # Use the token that is returned with a previous call to this action.
1081
+ # To specify the start of the result set, do not specify a value.
1082
+ # @return [String]
1083
+ class DescribeGameSessionsInput < Struct.new(
1084
+ :fleet_id,
1085
+ :game_session_id,
1086
+ :alias_id,
1087
+ :status_filter,
1088
+ :limit,
1089
+ :next_token)
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # Represents the returned data in response to a request action.
1094
+ # @!attribute [rw] game_sessions
1095
+ # Collection of objects containing game session properties for each
1096
+ # session matching the request.
1097
+ # @return [Array<Types::GameSession>]
1098
+ #
1099
+ # @!attribute [rw] next_token
1100
+ # Token indicating where to resume retrieving results on the next call
1101
+ # to this action. If no token is returned, these results represent the
1102
+ # end of the list.
1103
+ # @return [String]
1104
+ class DescribeGameSessionsOutput < Struct.new(
1105
+ :game_sessions,
1106
+ :next_token)
1107
+ include Aws::Structure
1108
+ end
1109
+
1110
+ # Represents the input for a request action.
1111
+ # @note When making an API call, pass DescribeInstancesInput
1112
+ # data as a hash:
1113
+ #
1114
+ # {
1115
+ # fleet_id: "FleetId", # required
1116
+ # instance_id: "InstanceId",
1117
+ # limit: 1,
1118
+ # next_token: "NonZeroAndMaxString",
1119
+ # }
1120
+ # @!attribute [rw] fleet_id
1121
+ # Unique identifier for a fleet. Specify the fleet to retrieve
1122
+ # instance information for.
1123
+ # @return [String]
1124
+ #
1125
+ # @!attribute [rw] instance_id
1126
+ # Unique identifier for an instance. Specify an instance to retrieve
1127
+ # information for or leave blank to get information on all instances
1128
+ # in the fleet.
1129
+ # @return [String]
1130
+ #
1131
+ # @!attribute [rw] limit
1132
+ # Maximum number of results to return. Use this parameter with
1133
+ # `NextToken` to get results as a set of sequential pages.
1134
+ # @return [Integer]
1135
+ #
1136
+ # @!attribute [rw] next_token
1137
+ # Token indicating the start of the next sequential page of results.
1138
+ # Use the token that is returned with a previous call to this action.
1139
+ # To specify the start of the result set, do not specify a value.
1140
+ # @return [String]
1141
+ class DescribeInstancesInput < Struct.new(
1142
+ :fleet_id,
1143
+ :instance_id,
1144
+ :limit,
1145
+ :next_token)
1146
+ include Aws::Structure
1147
+ end
1148
+
1149
+ # Represents the returned data in response to a request action.
1150
+ # @!attribute [rw] instances
1151
+ # Collection of objects containing properties for each instance
1152
+ # returned.
1153
+ # @return [Array<Types::Instance>]
1154
+ #
1155
+ # @!attribute [rw] next_token
1156
+ # Token indicating where to resume retrieving results on the next call
1157
+ # to this action. If no token is returned, these results represent the
1158
+ # end of the list.
1159
+ # @return [String]
1160
+ class DescribeInstancesOutput < Struct.new(
1161
+ :instances,
1162
+ :next_token)
1163
+ include Aws::Structure
1164
+ end
1165
+
1166
+ # Represents the input for a request action.
1167
+ # @note When making an API call, pass DescribePlayerSessionsInput
1168
+ # data as a hash:
1169
+ #
1170
+ # {
1171
+ # game_session_id: "ArnStringModel",
1172
+ # player_id: "NonZeroAndMaxString",
1173
+ # player_session_id: "PlayerSessionId",
1174
+ # player_session_status_filter: "NonZeroAndMaxString",
1175
+ # limit: 1,
1176
+ # next_token: "NonZeroAndMaxString",
1177
+ # }
1178
+ # @!attribute [rw] game_session_id
1179
+ # Unique identifier for the game session to get player sessions for.
1180
+ # Game session ID format is as follows:
1181
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1182
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
1183
+ # a custom ID string (if one was specified when the game session was
1184
+ # created) an autogenerated string.
1185
+ # @return [String]
1186
+ #
1187
+ # @!attribute [rw] player_id
1188
+ # Unique identifier for a player.
1189
+ # @return [String]
1190
+ #
1191
+ # @!attribute [rw] player_session_id
1192
+ # Unique identifier for a player session.
1193
+ # @return [String]
1194
+ #
1195
+ # @!attribute [rw] player_session_status_filter
1196
+ # Player session status to filter results on.
1197
+ #
1198
+ # Possible player session statuses include the following:
1199
+ #
1200
+ # * **RESERVED** – The player session request has been received, but
1201
+ # the player has not yet connected to the server process and/or been
1202
+ # validated.
1203
+ #
1204
+ # * **ACTIVE** – The player has been validated by the server process
1205
+ # and is currently connected.
1206
+ #
1207
+ # * **COMPLETED** – The player connection has been dropped.
1208
+ #
1209
+ # * **TIMEDOUT** – A player session request was received, but the
1210
+ # player did not connect and/or was not validated within the
1211
+ # time-out limit (60 seconds).
1212
+ # @return [String]
1213
+ #
1214
+ # @!attribute [rw] limit
1215
+ # Maximum number of results to return. Use this parameter with
1216
+ # `NextToken` to get results as a set of sequential pages. If a player
1217
+ # session ID is specified, this parameter is ignored.
1218
+ # @return [Integer]
1219
+ #
1220
+ # @!attribute [rw] next_token
1221
+ # Token indicating the start of the next sequential page of results.
1222
+ # Use the token that is returned with a previous call to this action.
1223
+ # To specify the start of the result set, do not specify a value. If a
1224
+ # player session ID is specified, this parameter is ignored.
1225
+ # @return [String]
1226
+ class DescribePlayerSessionsInput < Struct.new(
1227
+ :game_session_id,
1228
+ :player_id,
1229
+ :player_session_id,
1230
+ :player_session_status_filter,
1231
+ :limit,
1232
+ :next_token)
1233
+ include Aws::Structure
1234
+ end
1235
+
1236
+ # Represents the returned data in response to a request action.
1237
+ # @!attribute [rw] player_sessions
1238
+ # Collection of objects containing properties for each player session
1239
+ # that matches the request.
1240
+ # @return [Array<Types::PlayerSession>]
1241
+ #
1242
+ # @!attribute [rw] next_token
1243
+ # Token indicating where to resume retrieving results on the next call
1244
+ # to this action. If no token is returned, these results represent the
1245
+ # end of the list.
1246
+ # @return [String]
1247
+ class DescribePlayerSessionsOutput < Struct.new(
1248
+ :player_sessions,
1249
+ :next_token)
1250
+ include Aws::Structure
1251
+ end
1252
+
1253
+ # Represents the input for a request action.
1254
+ # @note When making an API call, pass DescribeRuntimeConfigurationInput
1255
+ # data as a hash:
1256
+ #
1257
+ # {
1258
+ # fleet_id: "FleetId", # required
1259
+ # }
1260
+ # @!attribute [rw] fleet_id
1261
+ # Unique identifier of the fleet to get the runtime configuration for.
1262
+ # @return [String]
1263
+ class DescribeRuntimeConfigurationInput < Struct.new(
1264
+ :fleet_id)
1265
+ include Aws::Structure
1266
+ end
1267
+
1268
+ # Represents the returned data in response to a request action.
1269
+ # @!attribute [rw] runtime_configuration
1270
+ # Instructions describing how server processes should be launched and
1271
+ # maintained on each instance in the fleet.
1272
+ # @return [Types::RuntimeConfiguration]
1273
+ class DescribeRuntimeConfigurationOutput < Struct.new(
1274
+ :runtime_configuration)
1275
+ include Aws::Structure
1276
+ end
1277
+
1278
+ # Represents the input for a request action.
1279
+ # @note When making an API call, pass DescribeScalingPoliciesInput
1280
+ # data as a hash:
1281
+ #
1282
+ # {
1283
+ # fleet_id: "FleetId", # required
1284
+ # status_filter: "ACTIVE", # accepts ACTIVE, UPDATE_REQUESTED, UPDATING, DELETE_REQUESTED, DELETING, DELETED, ERROR
1285
+ # limit: 1,
1286
+ # next_token: "NonZeroAndMaxString",
1287
+ # }
1288
+ # @!attribute [rw] fleet_id
1289
+ # Unique identifier for a fleet. Specify the fleet to retrieve scaling
1290
+ # policies for.
1291
+ # @return [String]
1292
+ #
1293
+ # @!attribute [rw] status_filter
1294
+ # Scaling policy status to filter results on. A scaling policy is only
1295
+ # in force when in an `ACTIVE` status.
1296
+ #
1297
+ # * **ACTIVE** – The scaling policy is currently in force.
1298
+ #
1299
+ # * **UPDATEREQUESTED** – A request to update the scaling policy has
1300
+ # been received.
1301
+ #
1302
+ # * **UPDATING** – A change is being made to the scaling policy.
1303
+ #
1304
+ # * **DELETEREQUESTED** – A request to delete the scaling policy has
1305
+ # been received.
1306
+ #
1307
+ # * **DELETING** – The scaling policy is being deleted.
1308
+ #
1309
+ # * **DELETED** – The scaling policy has been deleted.
1310
+ #
1311
+ # * **ERROR** – An error occurred in creating the policy. It should be
1312
+ # removed and recreated.
1313
+ # @return [String]
1314
+ #
1315
+ # @!attribute [rw] limit
1316
+ # Maximum number of results to return. Use this parameter with
1317
+ # `NextToken` to get results as a set of sequential pages.
1318
+ # @return [Integer]
1319
+ #
1320
+ # @!attribute [rw] next_token
1321
+ # Token indicating the start of the next sequential page of results.
1322
+ # Use the token that is returned with a previous call to this action.
1323
+ # To specify the start of the result set, do not specify a value.
1324
+ # @return [String]
1325
+ class DescribeScalingPoliciesInput < Struct.new(
1326
+ :fleet_id,
1327
+ :status_filter,
1328
+ :limit,
1329
+ :next_token)
1330
+ include Aws::Structure
1331
+ end
1332
+
1333
+ # Represents the returned data in response to a request action.
1334
+ # @!attribute [rw] scaling_policies
1335
+ # Collection of objects containing the scaling policies matching the
1336
+ # request.
1337
+ # @return [Array<Types::ScalingPolicy>]
1338
+ #
1339
+ # @!attribute [rw] next_token
1340
+ # Token indicating where to resume retrieving results on the next call
1341
+ # to this action. If no token is returned, these results represent the
1342
+ # end of the list.
1343
+ # @return [String]
1344
+ class DescribeScalingPoliciesOutput < Struct.new(
1345
+ :scaling_policies,
1346
+ :next_token)
1347
+ include Aws::Structure
1348
+ end
1349
+
1350
+ # Current status of fleet capacity. The number of active instances
1351
+ # should match or be in the process of matching the number of desired
1352
+ # instances. Pending and terminating counts are non-zero only if fleet
1353
+ # capacity is adjusting to an UpdateFleetCapacity request, or if access
1354
+ # to resources is temporarily affected.
1355
+ # @!attribute [rw] desired
1356
+ # Ideal number of active instances in the fleet.
1357
+ # @return [Integer]
1358
+ #
1359
+ # @!attribute [rw] minimum
1360
+ # Minimum value allowed for the fleet's instance count.
1361
+ # @return [Integer]
1362
+ #
1363
+ # @!attribute [rw] maximum
1364
+ # Maximum value allowed for the fleet's instance count.
1365
+ # @return [Integer]
1366
+ #
1367
+ # @!attribute [rw] pending
1368
+ # Number of instances in the fleet that are starting but not yet
1369
+ # active.
1370
+ # @return [Integer]
1371
+ #
1372
+ # @!attribute [rw] active
1373
+ # Actual number of active instances in the fleet.
1374
+ # @return [Integer]
1375
+ #
1376
+ # @!attribute [rw] idle
1377
+ # Number of active instances in the fleet that are not currently
1378
+ # hosting a game session.
1379
+ # @return [Integer]
1380
+ #
1381
+ # @!attribute [rw] terminating
1382
+ # Number of instances in the fleet that are no longer active but
1383
+ # haven't yet been terminated.
1384
+ # @return [Integer]
1385
+ class EC2InstanceCounts < Struct.new(
1386
+ :desired,
1387
+ :minimum,
1388
+ :maximum,
1389
+ :pending,
1390
+ :active,
1391
+ :idle,
1392
+ :terminating)
1393
+ include Aws::Structure
1394
+ end
1395
+
1396
+ # Maximum number of instances allowed based on the Amazon Elastic
1397
+ # Compute Cloud (Amazon EC2) instance type. Instance limits can be
1398
+ # retrieved by calling DescribeEC2InstanceLimits.
1399
+ # @!attribute [rw] ec2_instance_type
1400
+ # Name of an EC2 instance type that is supported in Amazon GameLift. A
1401
+ # fleet instance type determines the computing resources of each
1402
+ # instance in the fleet, including CPU, memory, storage, and
1403
+ # networking capacity. GameLift supports the following EC2 instance
1404
+ # types. See [Amazon EC2 Instance Types][1] for detailed descriptions.
1405
+ #
1406
+ #
1407
+ #
1408
+ # [1]: http://aws.amazon.com/ec2/instance-types/
1409
+ # @return [String]
1410
+ #
1411
+ # @!attribute [rw] current_instances
1412
+ # Number of instances of the specified type that are currently in use
1413
+ # by this AWS account.
1414
+ # @return [Integer]
1415
+ #
1416
+ # @!attribute [rw] instance_limit
1417
+ # Number of instances allowed.
1418
+ # @return [Integer]
1419
+ class EC2InstanceLimit < Struct.new(
1420
+ :ec2_instance_type,
1421
+ :current_instances,
1422
+ :instance_limit)
1423
+ include Aws::Structure
1424
+ end
1425
+
1426
+ # Log entry describing an event involving Amazon GameLift resources
1427
+ # (such as a fleet). In addition to tracking activity, event codes and
1428
+ # messages can provide additional information for troubleshooting and
1429
+ # debugging problems.
1430
+ # @!attribute [rw] event_id
1431
+ # Unique identifier for a fleet event.
1432
+ # @return [String]
1433
+ #
1434
+ # @!attribute [rw] resource_id
1435
+ # Unique identifier for the resource, such as a fleet ID.
1436
+ # @return [String]
1437
+ #
1438
+ # @!attribute [rw] event_code
1439
+ # Type of event being logged.
1440
+ # @return [String]
1441
+ #
1442
+ # @!attribute [rw] message
1443
+ # Additional information related to the event.
1444
+ # @return [String]
1445
+ #
1446
+ # @!attribute [rw] event_time
1447
+ # Time stamp indicating when this event occurred. Format is a number
1448
+ # expressed in Unix time as milliseconds (ex: "1469498468.057").
1449
+ # @return [Time]
1450
+ class Event < Struct.new(
1451
+ :event_id,
1452
+ :resource_id,
1453
+ :event_code,
1454
+ :message,
1455
+ :event_time)
1456
+ include Aws::Structure
1457
+ end
1458
+
1459
+ # General properties describing a fleet.
1460
+ # @!attribute [rw] fleet_id
1461
+ # Unique identifier for a fleet.
1462
+ # @return [String]
1463
+ #
1464
+ # @!attribute [rw] description
1465
+ # Human-readable description of the fleet.
1466
+ # @return [String]
1467
+ #
1468
+ # @!attribute [rw] name
1469
+ # Descriptive label associated with a fleet. Fleet names do not need
1470
+ # to be unique.
1471
+ # @return [String]
1472
+ #
1473
+ # @!attribute [rw] creation_time
1474
+ # Time stamp indicating when this data object was created. Format is a
1475
+ # number expressed in Unix time as milliseconds (ex:
1476
+ # "1469498468.057").
1477
+ # @return [Time]
1478
+ #
1479
+ # @!attribute [rw] termination_time
1480
+ # Time stamp indicating when this data object was terminated. Format
1481
+ # is a number expressed in Unix time as milliseconds (ex:
1482
+ # "1469498468.057").
1483
+ # @return [Time]
1484
+ #
1485
+ # @!attribute [rw] status
1486
+ # Current status of the fleet.
1487
+ #
1488
+ # Possible fleet statuses include the following:
1489
+ #
1490
+ # * **NEW** – A new fleet has been defined and desired instances is
1491
+ # set to 1.
1492
+ #
1493
+ # * **DOWNLOADING/VALIDATING/BUILDING/ACTIVATING** – GameLift is
1494
+ # setting up the new fleet, creating new instances with the game
1495
+ # build and starting server processes.
1496
+ #
1497
+ # * **ACTIVE** – Hosts can now accept game sessions.
1498
+ #
1499
+ # * **ERROR** – An error occurred when downloading, validating,
1500
+ # building, or activating the fleet.
1501
+ #
1502
+ # * **DELETING** – Hosts are responding to a delete fleet request.
1503
+ #
1504
+ # * **TERMINATED** – The fleet no longer exists.
1505
+ # @return [String]
1506
+ #
1507
+ # @!attribute [rw] build_id
1508
+ # Unique identifier for a build.
1509
+ # @return [String]
1510
+ #
1511
+ # @!attribute [rw] server_launch_path
1512
+ # Path to a game server executable in the fleet's build, specified
1513
+ # for fleets created prior to 2016-08-04 (or AWS SDK v. 0.12.16).
1514
+ # Server launch paths for fleets created after this date are specified
1515
+ # in the fleet's ` RuntimeConfiguration `.
1516
+ # @return [String]
1517
+ #
1518
+ # @!attribute [rw] server_launch_parameters
1519
+ # Game server launch parameters specified for fleets created prior to
1520
+ # 2016-08-04 (or AWS SDK v. 0.12.16). Server launch parameters for
1521
+ # fleets created after this date are specified in the fleet's `
1522
+ # RuntimeConfiguration `.
1523
+ # @return [String]
1524
+ #
1525
+ # @!attribute [rw] log_paths
1526
+ # Location of default log files. When a server process is shut down,
1527
+ # Amazon GameLift captures and stores any log files in this location.
1528
+ # These logs are in addition to game session logs; see more on game
1529
+ # session logs in the [Amazon GameLift Developer Guide][1]. If no
1530
+ # default log path for a fleet is specified, GameLift will
1531
+ # automatically upload logs that are stored on each instance at
1532
+ # `C:\game\logs` (for Windows) or `/local/game/logs` (for Linux). Use
1533
+ # the GameLift console to access stored logs.
1534
+ #
1535
+ #
1536
+ #
1537
+ # [1]: http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code
1538
+ # @return [Array<String>]
1539
+ #
1540
+ # @!attribute [rw] new_game_session_protection_policy
1541
+ # Type of game session protection to set for all new instances started
1542
+ # in the fleet.
1543
+ #
1544
+ # * **NoProtection** – The game session can be terminated during a
1545
+ # scale-down event.
1546
+ #
1547
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
1548
+ # it cannot be terminated during a scale-down event.
1549
+ # @return [String]
1550
+ #
1551
+ # @!attribute [rw] operating_system
1552
+ # Operating system of the fleet's computing resources. A fleet's
1553
+ # operating system depends on the OS specified for the build that is
1554
+ # deployed on this fleet.
1555
+ # @return [String]
1556
+ #
1557
+ # @!attribute [rw] resource_creation_limit_policy
1558
+ # Fleet policy to limit the number of game sessions an individual
1559
+ # player can create over a span of time.
1560
+ # @return [Types::ResourceCreationLimitPolicy]
1561
+ class FleetAttributes < Struct.new(
1562
+ :fleet_id,
1563
+ :description,
1564
+ :name,
1565
+ :creation_time,
1566
+ :termination_time,
1567
+ :status,
1568
+ :build_id,
1569
+ :server_launch_path,
1570
+ :server_launch_parameters,
1571
+ :log_paths,
1572
+ :new_game_session_protection_policy,
1573
+ :operating_system,
1574
+ :resource_creation_limit_policy)
1575
+ include Aws::Structure
1576
+ end
1577
+
1578
+ # Information about the fleet's capacity. Fleet capacity is measured in
1579
+ # EC2 instances. By default, new fleets have a capacity of one instance,
1580
+ # but can be updated as needed. The maximum number of instances for a
1581
+ # fleet is determined by the fleet's instance type.
1582
+ # @!attribute [rw] fleet_id
1583
+ # Unique identifier for a fleet.
1584
+ # @return [String]
1585
+ #
1586
+ # @!attribute [rw] instance_type
1587
+ # Name of an EC2 instance type that is supported in Amazon GameLift. A
1588
+ # fleet instance type determines the computing resources of each
1589
+ # instance in the fleet, including CPU, memory, storage, and
1590
+ # networking capacity. GameLift supports the following EC2 instance
1591
+ # types. See [Amazon EC2 Instance Types][1] for detailed descriptions.
1592
+ #
1593
+ #
1594
+ #
1595
+ # [1]: http://aws.amazon.com/ec2/instance-types/
1596
+ # @return [String]
1597
+ #
1598
+ # @!attribute [rw] instance_counts
1599
+ # Current status of fleet capacity.
1600
+ # @return [Types::EC2InstanceCounts]
1601
+ class FleetCapacity < Struct.new(
1602
+ :fleet_id,
1603
+ :instance_type,
1604
+ :instance_counts)
1605
+ include Aws::Structure
1606
+ end
1607
+
1608
+ # Current status of fleet utilization, including the number of game and
1609
+ # player sessions being hosted.
1610
+ # @!attribute [rw] fleet_id
1611
+ # Unique identifier for a fleet.
1612
+ # @return [String]
1613
+ #
1614
+ # @!attribute [rw] active_server_process_count
1615
+ # Number of server processes in an `ACTIVE` status currently running
1616
+ # across all instances in the fleet
1617
+ # @return [Integer]
1618
+ #
1619
+ # @!attribute [rw] active_game_session_count
1620
+ # Number of active game sessions currently being hosted on all
1621
+ # instances in the fleet.
1622
+ # @return [Integer]
1623
+ #
1624
+ # @!attribute [rw] current_player_session_count
1625
+ # Number of active player sessions currently being hosted on all
1626
+ # instances in the fleet.
1627
+ # @return [Integer]
1628
+ #
1629
+ # @!attribute [rw] maximum_player_session_count
1630
+ # Maximum players allowed across all game sessions currently being
1631
+ # hosted on all instances in the fleet.
1632
+ # @return [Integer]
1633
+ class FleetUtilization < Struct.new(
1634
+ :fleet_id,
1635
+ :active_server_process_count,
1636
+ :active_game_session_count,
1637
+ :current_player_session_count,
1638
+ :maximum_player_session_count)
1639
+ include Aws::Structure
1640
+ end
1641
+
1642
+ # Set of key-value pairs containing information a server process
1643
+ # requires to set up a game session. This object allows you to pass in
1644
+ # any set of data needed for your game. For more information, see the
1645
+ # [Amazon GameLift Developer Guide][1].
1646
+ #
1647
+ #
1648
+ #
1649
+ # [1]: http://docs.aws.amazon.com/gamelift/latest/developerguide/
1650
+ # @note When making an API call, pass GameProperty
1651
+ # data as a hash:
1652
+ #
1653
+ # {
1654
+ # key: "GamePropertyKey", # required
1655
+ # value: "GamePropertyValue", # required
1656
+ # }
1657
+ # @!attribute [rw] key
1658
+ # TBD
1659
+ # @return [String]
1660
+ #
1661
+ # @!attribute [rw] value
1662
+ # TBD
1663
+ # @return [String]
1664
+ class GameProperty < Struct.new(
1665
+ :key,
1666
+ :value)
1667
+ include Aws::Structure
1668
+ end
1669
+
1670
+ # Properties describing a game session.
1671
+ # @!attribute [rw] game_session_id
1672
+ # Unique identifier for a game session. Game session ID format is as
1673
+ # follows:
1674
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1675
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
1676
+ # a custom ID string (if one was specified when the game session was
1677
+ # created) an autogenerated string.
1678
+ # @return [String]
1679
+ #
1680
+ # @!attribute [rw] name
1681
+ # Descriptive label associated with a game session. Session names do
1682
+ # not need to be unique.
1683
+ # @return [String]
1684
+ #
1685
+ # @!attribute [rw] fleet_id
1686
+ # Unique identifier for a fleet.
1687
+ # @return [String]
1688
+ #
1689
+ # @!attribute [rw] creation_time
1690
+ # Time stamp indicating when this data object was created. Format is a
1691
+ # number expressed in Unix time as milliseconds (ex:
1692
+ # "1469498468.057").
1693
+ # @return [Time]
1694
+ #
1695
+ # @!attribute [rw] termination_time
1696
+ # Time stamp indicating when this data object was terminated. Format
1697
+ # is a number expressed in Unix time as milliseconds (ex:
1698
+ # "1469498468.057").
1699
+ # @return [Time]
1700
+ #
1701
+ # @!attribute [rw] current_player_session_count
1702
+ # Number of players currently in the game session.
1703
+ # @return [Integer]
1704
+ #
1705
+ # @!attribute [rw] maximum_player_session_count
1706
+ # Maximum number of players allowed in the game session.
1707
+ # @return [Integer]
1708
+ #
1709
+ # @!attribute [rw] status
1710
+ # Current status of the game session. A game session must be in an
1711
+ # `ACTIVE` status to have player sessions.
1712
+ # @return [String]
1713
+ #
1714
+ # @!attribute [rw] game_properties
1715
+ # Set of custom properties for the game session.
1716
+ # @return [Array<Types::GameProperty>]
1717
+ #
1718
+ # @!attribute [rw] ip_address
1719
+ # IP address of the game session. To connect to a GameLift server
1720
+ # process, an app needs both the IP address and port number.
1721
+ # @return [String]
1722
+ #
1723
+ # @!attribute [rw] port
1724
+ # Port number for the game session. To connect to a GameLift server
1725
+ # process, an app needs both the IP address and port number.
1726
+ # @return [Integer]
1727
+ #
1728
+ # @!attribute [rw] player_session_creation_policy
1729
+ # Indicates whether or not the game session is accepting new players.
1730
+ # @return [String]
1731
+ #
1732
+ # @!attribute [rw] creator_id
1733
+ # Player ID of the person or entity that created the game session.
1734
+ # This ID is used to enforce a resource protection policy (if one
1735
+ # exists) that limits the number of concurrent active game sessions
1736
+ # for a single player.
1737
+ # @return [String]
1738
+ class GameSession < Struct.new(
1739
+ :game_session_id,
1740
+ :name,
1741
+ :fleet_id,
1742
+ :creation_time,
1743
+ :termination_time,
1744
+ :current_player_session_count,
1745
+ :maximum_player_session_count,
1746
+ :status,
1747
+ :game_properties,
1748
+ :ip_address,
1749
+ :port,
1750
+ :player_session_creation_policy,
1751
+ :creator_id)
1752
+ include Aws::Structure
1753
+ end
1754
+
1755
+ # A game session's properties and the protection policy currently in
1756
+ # force.
1757
+ # @!attribute [rw] game_session
1758
+ # Properties describing a game session.
1759
+ # @return [Types::GameSession]
1760
+ #
1761
+ # @!attribute [rw] protection_policy
1762
+ # Current status of protection for the game session.
1763
+ #
1764
+ # * **NoProtection** – The game session can be terminated during a
1765
+ # scale-down event.
1766
+ #
1767
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
1768
+ # it cannot be terminated during a scale-down event.
1769
+ # @return [String]
1770
+ class GameSessionDetail < Struct.new(
1771
+ :game_session,
1772
+ :protection_policy)
1773
+ include Aws::Structure
1774
+ end
1775
+
1776
+ # Represents the input for a request action.
1777
+ # @note When making an API call, pass GetGameSessionLogUrlInput
1778
+ # data as a hash:
1779
+ #
1780
+ # {
1781
+ # game_session_id: "ArnStringModel", # required
1782
+ # }
1783
+ # @!attribute [rw] game_session_id
1784
+ # Unique identifier for the game session to get logs for. Game session
1785
+ # ID format is as follows:
1786
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1787
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
1788
+ # a custom ID string (if one was specified when the game session was
1789
+ # created) an autogenerated string.
1790
+ # @return [String]
1791
+ class GetGameSessionLogUrlInput < Struct.new(
1792
+ :game_session_id)
1793
+ include Aws::Structure
1794
+ end
1795
+
1796
+ # Represents the returned data in response to a request action.
1797
+ # @!attribute [rw] pre_signed_url
1798
+ # Location of the requested game session logs, available for download.
1799
+ # @return [String]
1800
+ class GetGameSessionLogUrlOutput < Struct.new(
1801
+ :pre_signed_url)
1802
+ include Aws::Structure
1803
+ end
1804
+
1805
+ # @note When making an API call, pass GetInstanceAccessInput
1806
+ # data as a hash:
1807
+ #
1808
+ # {
1809
+ # fleet_id: "FleetId", # required
1810
+ # instance_id: "InstanceId", # required
1811
+ # }
1812
+ # @!attribute [rw] fleet_id
1813
+ # Unique identifier for a fleet. Specify the fleet that contain the
1814
+ # instance you want access to. The fleet can be in any of the
1815
+ # following statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an
1816
+ # ERROR status can be accessed for a few hours before being deleted.
1817
+ # @return [String]
1818
+ #
1819
+ # @!attribute [rw] instance_id
1820
+ # Unique identifier for an instance. Specify the instance you want to
1821
+ # get access to. You can access an instance in any status.
1822
+ # @return [String]
1823
+ class GetInstanceAccessInput < Struct.new(
1824
+ :fleet_id,
1825
+ :instance_id)
1826
+ include Aws::Structure
1827
+ end
1828
+
1829
+ # @!attribute [rw] instance_access
1830
+ # Object containing connection information for a fleet instance,
1831
+ # including IP address and access credentials.
1832
+ # @return [Types::InstanceAccess]
1833
+ class GetInstanceAccessOutput < Struct.new(
1834
+ :instance_access)
1835
+ include Aws::Structure
1836
+ end
1837
+
1838
+ # Properties that describe an instance of a virtual computing resource
1839
+ # that hosts one or more game servers. A fleet contains zero or more
1840
+ # instances.
1841
+ # @!attribute [rw] fleet_id
1842
+ # Unique identifier for the fleet that the instance belongs to.
1843
+ # @return [String]
1844
+ #
1845
+ # @!attribute [rw] instance_id
1846
+ # Unique identifier for the instance.
1847
+ # @return [String]
1848
+ #
1849
+ # @!attribute [rw] ip_address
1850
+ # IP address assigned to the instance.
1851
+ # @return [String]
1852
+ #
1853
+ # @!attribute [rw] operating_system
1854
+ # Operating system that is running on this instance.
1855
+ # @return [String]
1856
+ #
1857
+ # @!attribute [rw] type
1858
+ # EC2 instance type that defines the computing resources of this
1859
+ # instance.
1860
+ # @return [String]
1861
+ #
1862
+ # @!attribute [rw] status
1863
+ # Current status of the instance. Possible statuses include the
1864
+ # following:
1865
+ #
1866
+ # * **PENDING** – The instance is in the process of being created and
1867
+ # launching server processes as defined in the fleet's runtime
1868
+ # configuration.
1869
+ #
1870
+ # * **ACTIVE** – The instance has been successfully created and at
1871
+ # least one server process has successfully launched and reported
1872
+ # back to GameLift that it is ready to host a game session. The
1873
+ # instance is now considered ready to host game sessions.
1874
+ #
1875
+ # * **TERMINATING** – The instance is in the process of shutting down.
1876
+ # This may happen to reduce capacity during a scaling down event or
1877
+ # to recycle resources in the event of a problem.
1878
+ # @return [String]
1879
+ #
1880
+ # @!attribute [rw] creation_time
1881
+ # Time stamp indicating when this data object was created. Format is a
1882
+ # number expressed in Unix time as milliseconds (ex:
1883
+ # "1469498468.057").
1884
+ # @return [Time]
1885
+ class Instance < Struct.new(
1886
+ :fleet_id,
1887
+ :instance_id,
1888
+ :ip_address,
1889
+ :operating_system,
1890
+ :type,
1891
+ :status,
1892
+ :creation_time)
1893
+ include Aws::Structure
1894
+ end
1895
+
1896
+ # Information required to remotely connect to a fleet instance. Access
1897
+ # is requested by calling GetInstanceAccess.
1898
+ # @!attribute [rw] fleet_id
1899
+ # Unique identifier for the fleet containing the instance being
1900
+ # accessed.
1901
+ # @return [String]
1902
+ #
1903
+ # @!attribute [rw] instance_id
1904
+ # Unique identifier for the instance being accessed.
1905
+ # @return [String]
1906
+ #
1907
+ # @!attribute [rw] ip_address
1908
+ # IP address assigned to the instance.
1909
+ # @return [String]
1910
+ #
1911
+ # @!attribute [rw] operating_system
1912
+ # Operating system that is running on the instance.
1913
+ # @return [String]
1914
+ #
1915
+ # @!attribute [rw] credentials
1916
+ # Credentials required to access the instance.
1917
+ # @return [Types::InstanceCredentials]
1918
+ class InstanceAccess < Struct.new(
1919
+ :fleet_id,
1920
+ :instance_id,
1921
+ :ip_address,
1922
+ :operating_system,
1923
+ :credentials)
1924
+ include Aws::Structure
1925
+ end
1926
+
1927
+ # Set of credentials required to remotely access a fleet instance.
1928
+ # Access credentials are requested by calling GetInstanceAccess and
1929
+ # returned in an InstanceAccess object.
1930
+ # @!attribute [rw] user_name
1931
+ # User login string.
1932
+ # @return [String]
1933
+ #
1934
+ # @!attribute [rw] secret
1935
+ # Secret string. For Windows instances, the secret is a password. For
1936
+ # Linux instances, it is a private key.
1937
+ # @return [String]
1938
+ class InstanceCredentials < Struct.new(
1939
+ :user_name,
1940
+ :secret)
1941
+ include Aws::Structure
1942
+ end
1943
+
1944
+ # A range of IP addresses and port settings that allow inbound traffic
1945
+ # to connect to server processes on GameLift. Each game session hosted
1946
+ # on a fleet is assigned a unique combination of IP address and port
1947
+ # number, which must fall into the fleet's allowed ranges. This
1948
+ # combination is included in the GameSession object.
1949
+ # @note When making an API call, pass IpPermission
1950
+ # data as a hash:
1951
+ #
1952
+ # {
1953
+ # from_port: 1, # required
1954
+ # to_port: 1, # required
1955
+ # ip_range: "NonBlankString", # required
1956
+ # protocol: "TCP", # required, accepts TCP, UDP
1957
+ # }
1958
+ # @!attribute [rw] from_port
1959
+ # Starting value for a range of allowed port numbers.
1960
+ # @return [Integer]
1961
+ #
1962
+ # @!attribute [rw] to_port
1963
+ # Ending value for a range of allowed port numbers. Port numbers are
1964
+ # end-inclusive. This value must be higher than `FromPort`.
1965
+ # @return [Integer]
1966
+ #
1967
+ # @!attribute [rw] ip_range
1968
+ # Range of allowed IP addresses. This value must be expressed in [CIDR
1969
+ # notation][1]. Example: "`000.000.000.000/[subnet mask]`" or
1970
+ # optionally the shortened version "`0.0.0.0/[subnet mask]`".
1971
+ #
1972
+ #
1973
+ #
1974
+ # [1]: https://tools.ietf.org/id/cidr
1975
+ # @return [String]
1976
+ #
1977
+ # @!attribute [rw] protocol
1978
+ # Network communication protocol used by the fleet.
1979
+ # @return [String]
1980
+ class IpPermission < Struct.new(
1981
+ :from_port,
1982
+ :to_port,
1983
+ :ip_range,
1984
+ :protocol)
1985
+ include Aws::Structure
1986
+ end
1987
+
1988
+ # Represents the input for a request action.
1989
+ # @note When making an API call, pass ListAliasesInput
1990
+ # data as a hash:
1991
+ #
1992
+ # {
1993
+ # routing_strategy_type: "SIMPLE", # accepts SIMPLE, TERMINAL
1994
+ # name: "NonEmptyString",
1995
+ # limit: 1,
1996
+ # next_token: "NonEmptyString",
1997
+ # }
1998
+ # @!attribute [rw] routing_strategy_type
1999
+ # Type of routing to filter results on. Use this parameter to retrieve
2000
+ # only aliases of a certain type. To retrieve all aliases, leave this
2001
+ # parameter empty.
2002
+ #
2003
+ # Possible routing types include the following:
2004
+ #
2005
+ # * **SIMPLE** – The alias resolves to one specific fleet. Use this
2006
+ # type when routing to active fleets.
2007
+ #
2008
+ # * **TERMINAL** – The alias does not resolve to a fleet but instead
2009
+ # can be used to display a message to the user. A terminal alias
2010
+ # throws a TerminalRoutingStrategyException with the RoutingStrategy
2011
+ # message embedded.
2012
+ # @return [String]
2013
+ #
2014
+ # @!attribute [rw] name
2015
+ # Descriptive label associated with an alias. Alias names do not need
2016
+ # to be unique.
2017
+ # @return [String]
2018
+ #
2019
+ # @!attribute [rw] limit
2020
+ # Maximum number of results to return. Use this parameter with
2021
+ # `NextToken` to get results as a set of sequential pages.
2022
+ # @return [Integer]
2023
+ #
2024
+ # @!attribute [rw] next_token
2025
+ # Token indicating the start of the next sequential page of results.
2026
+ # Use the token that is returned with a previous call to this action.
2027
+ # To specify the start of the result set, do not specify a value.
2028
+ # @return [String]
2029
+ class ListAliasesInput < Struct.new(
2030
+ :routing_strategy_type,
2031
+ :name,
2032
+ :limit,
2033
+ :next_token)
2034
+ include Aws::Structure
2035
+ end
2036
+
2037
+ # Represents the returned data in response to a request action.
2038
+ # @!attribute [rw] aliases
2039
+ # Collection of alias records that match the list request.
2040
+ # @return [Array<Types::Alias>]
2041
+ #
2042
+ # @!attribute [rw] next_token
2043
+ # Token indicating where to resume retrieving results on the next call
2044
+ # to this action. If no token is returned, these results represent the
2045
+ # end of the list.
2046
+ # @return [String]
2047
+ class ListAliasesOutput < Struct.new(
2048
+ :aliases,
2049
+ :next_token)
2050
+ include Aws::Structure
2051
+ end
2052
+
2053
+ # Represents the input for a request action.
2054
+ # @note When making an API call, pass ListBuildsInput
2055
+ # data as a hash:
2056
+ #
2057
+ # {
2058
+ # status: "INITIALIZED", # accepts INITIALIZED, READY, FAILED
2059
+ # limit: 1,
2060
+ # next_token: "NonEmptyString",
2061
+ # }
2062
+ # @!attribute [rw] status
2063
+ # Build status to filter results by. To retrieve all builds, leave
2064
+ # this parameter empty.
2065
+ #
2066
+ # Possible build statuses include the following:
2067
+ #
2068
+ # * **INITIALIZED** – A new build has been defined, but no files have
2069
+ # been uploaded. You cannot create fleets for builds that are in
2070
+ # this status. When a build is successfully created, the build
2071
+ # status is set to this value.
2072
+ #
2073
+ # * **READY** – The game build has been successfully uploaded. You can
2074
+ # now create new fleets for this build.
2075
+ #
2076
+ # * **FAILED** – The game build upload failed. You cannot create new
2077
+ # fleets for this build.
2078
+ # @return [String]
2079
+ #
2080
+ # @!attribute [rw] limit
2081
+ # Maximum number of results to return. Use this parameter with
2082
+ # `NextToken` to get results as a set of sequential pages.
2083
+ # @return [Integer]
2084
+ #
2085
+ # @!attribute [rw] next_token
2086
+ # Token indicating the start of the next sequential page of results.
2087
+ # Use the token that is returned with a previous call to this action.
2088
+ # To specify the start of the result set, do not specify a value.
2089
+ # @return [String]
2090
+ class ListBuildsInput < Struct.new(
2091
+ :status,
2092
+ :limit,
2093
+ :next_token)
2094
+ include Aws::Structure
2095
+ end
2096
+
2097
+ # Represents the returned data in response to a request action.
2098
+ # @!attribute [rw] builds
2099
+ # Collection of build records that match the request.
2100
+ # @return [Array<Types::Build>]
2101
+ #
2102
+ # @!attribute [rw] next_token
2103
+ # Token indicating where to resume retrieving results on the next call
2104
+ # to this action. If no token is returned, these results represent the
2105
+ # end of the list.
2106
+ # @return [String]
2107
+ class ListBuildsOutput < Struct.new(
2108
+ :builds,
2109
+ :next_token)
2110
+ include Aws::Structure
2111
+ end
2112
+
2113
+ # Represents the input for a request action.
2114
+ # @note When making an API call, pass ListFleetsInput
2115
+ # data as a hash:
2116
+ #
2117
+ # {
2118
+ # build_id: "BuildId",
2119
+ # limit: 1,
2120
+ # next_token: "NonZeroAndMaxString",
2121
+ # }
2122
+ # @!attribute [rw] build_id
2123
+ # Unique identifier of the build to return fleets for. Use this
2124
+ # parameter to return only fleets using the specified build. To
2125
+ # retrieve all fleets, leave this parameter empty.
2126
+ # @return [String]
2127
+ #
2128
+ # @!attribute [rw] limit
2129
+ # Maximum number of results to return. Use this parameter with
2130
+ # `NextToken` to get results as a set of sequential pages.
2131
+ # @return [Integer]
2132
+ #
2133
+ # @!attribute [rw] next_token
2134
+ # Token indicating the start of the next sequential page of results.
2135
+ # Use the token that is returned with a previous call to this action.
2136
+ # To specify the start of the result set, do not specify a value.
2137
+ # @return [String]
2138
+ class ListFleetsInput < Struct.new(
2139
+ :build_id,
2140
+ :limit,
2141
+ :next_token)
2142
+ include Aws::Structure
2143
+ end
2144
+
2145
+ # Represents the returned data in response to a request action.
2146
+ # @!attribute [rw] fleet_ids
2147
+ # Set of fleet IDs matching the list request. You can retrieve
2148
+ # additional information about all returned fleets by passing this
2149
+ # result set to a call to DescribeFleetAttributes,
2150
+ # DescribeFleetCapacity, and DescribeFleetUtilization.
2151
+ # @return [Array<String>]
2152
+ #
2153
+ # @!attribute [rw] next_token
2154
+ # Token indicating where to resume retrieving results on the next call
2155
+ # to this action. If no token is returned, these results represent the
2156
+ # end of the list.
2157
+ # @return [String]
2158
+ class ListFleetsOutput < Struct.new(
2159
+ :fleet_ids,
2160
+ :next_token)
2161
+ include Aws::Structure
2162
+ end
2163
+
2164
+ # Properties describing a player session.
2165
+ # @!attribute [rw] player_session_id
2166
+ # Unique identifier for a player session.
2167
+ # @return [String]
2168
+ #
2169
+ # @!attribute [rw] player_id
2170
+ # Unique identifier for a player.
2171
+ # @return [String]
2172
+ #
2173
+ # @!attribute [rw] game_session_id
2174
+ # Unique identifier for the game session that the player session is
2175
+ # connected to.
2176
+ # @return [String]
2177
+ #
2178
+ # @!attribute [rw] fleet_id
2179
+ # Unique identifier for a fleet.
2180
+ # @return [String]
2181
+ #
2182
+ # @!attribute [rw] creation_time
2183
+ # Time stamp indicating when this data object was created. Format is a
2184
+ # number expressed in Unix time as milliseconds (ex:
2185
+ # "1469498468.057").
2186
+ # @return [Time]
2187
+ #
2188
+ # @!attribute [rw] termination_time
2189
+ # Time stamp indicating when this data object was terminated. Format
2190
+ # is a number expressed in Unix time as milliseconds (ex:
2191
+ # "1469498468.057").
2192
+ # @return [Time]
2193
+ #
2194
+ # @!attribute [rw] status
2195
+ # Current status of the player session.
2196
+ #
2197
+ # Possible player session statuses include the following:
2198
+ #
2199
+ # * **RESERVED** – The player session request has been received, but
2200
+ # the player has not yet connected to the server process and/or been
2201
+ # validated.
2202
+ #
2203
+ # * **ACTIVE** – The player has been validated by the server process
2204
+ # and is currently connected.
2205
+ #
2206
+ # * **COMPLETED** – The player connection has been dropped.
2207
+ #
2208
+ # * **TIMEDOUT** – A player session request was received, but the
2209
+ # player did not connect and/or was not validated within the
2210
+ # time-out limit (60 seconds).
2211
+ # @return [String]
2212
+ #
2213
+ # @!attribute [rw] ip_address
2214
+ # Game session IP address. All player sessions reference the game
2215
+ # session location.
2216
+ # @return [String]
2217
+ #
2218
+ # @!attribute [rw] port
2219
+ # Port number for the game session. To connect to a GameLift server
2220
+ # process, an app needs both the IP address and port number.
2221
+ # @return [Integer]
2222
+ class PlayerSession < Struct.new(
2223
+ :player_session_id,
2224
+ :player_id,
2225
+ :game_session_id,
2226
+ :fleet_id,
2227
+ :creation_time,
2228
+ :termination_time,
2229
+ :status,
2230
+ :ip_address,
2231
+ :port)
2232
+ include Aws::Structure
2233
+ end
2234
+
2235
+ # Represents the input for a request action.
2236
+ # @note When making an API call, pass PutScalingPolicyInput
2237
+ # data as a hash:
2238
+ #
2239
+ # {
2240
+ # name: "NonZeroAndMaxString", # required
2241
+ # fleet_id: "FleetId", # required
2242
+ # scaling_adjustment: 1, # required
2243
+ # scaling_adjustment_type: "ChangeInCapacity", # required, accepts ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
2244
+ # threshold: 1.0, # required
2245
+ # comparison_operator: "GreaterThanOrEqualToThreshold", # required, accepts GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold
2246
+ # evaluation_periods: 1, # required
2247
+ # metric_name: "ActivatingGameSessions", # required, accepts ActivatingGameSessions, ActiveGameSessions, ActiveInstances, AvailablePlayerSessions, CurrentPlayerSessions, IdleInstances
2248
+ # }
2249
+ # @!attribute [rw] name
2250
+ # Descriptive label associated with a scaling policy. Policy names do
2251
+ # not need to be unique. A fleet can have only one scaling policy with
2252
+ # the same name.
2253
+ # @return [String]
2254
+ #
2255
+ # @!attribute [rw] fleet_id
2256
+ # Unique identity for the fleet to scale with this policy.
2257
+ # @return [String]
2258
+ #
2259
+ # @!attribute [rw] scaling_adjustment
2260
+ # Amount of adjustment to make, based on the scaling adjustment type.
2261
+ # @return [Integer]
2262
+ #
2263
+ # @!attribute [rw] scaling_adjustment_type
2264
+ # Type of adjustment to make to a fleet's instance count (see
2265
+ # FleetCapacity):
2266
+ #
2267
+ # * **ChangeInCapacity** – add (or subtract) the scaling adjustment
2268
+ # value from the current instance count. Positive values scale up
2269
+ # while negative values scale down.
2270
+ #
2271
+ # * **ExactCapacity** – set the instance count to the scaling
2272
+ # adjustment value.
2273
+ #
2274
+ # * **PercentChangeInCapacity** – increase or reduce the current
2275
+ # instance count by the scaling adjustment, read as a percentage.
2276
+ # Positive values scale up while negative values scale down; for
2277
+ # example, a value of "-10" scales the fleet down by 10%.
2278
+ # @return [String]
2279
+ #
2280
+ # @!attribute [rw] threshold
2281
+ # Metric value used to trigger a scaling event.
2282
+ # @return [Float]
2283
+ #
2284
+ # @!attribute [rw] comparison_operator
2285
+ # Comparison operator to use when measuring the metric against the
2286
+ # threshold value.
2287
+ # @return [String]
2288
+ #
2289
+ # @!attribute [rw] evaluation_periods
2290
+ # Length of time (in minutes) the metric must be at or beyond the
2291
+ # threshold before a scaling event is triggered.
2292
+ # @return [Integer]
2293
+ #
2294
+ # @!attribute [rw] metric_name
2295
+ # Name of the Amazon GameLift-defined metric that is used to trigger
2296
+ # an adjustment.
2297
+ #
2298
+ # * **ActivatingGameSessions** – number of game sessions in the
2299
+ # process of being created (game session status = `ACTIVATING`).
2300
+ #
2301
+ # * **ActiveGameSessions** – number of game sessions currently running
2302
+ # (game session status = `ACTIVE`).
2303
+ #
2304
+ # * **CurrentPlayerSessions** – number of active or reserved player
2305
+ # sessions (player session status = `ACTIVE` or `RESERVED`).
2306
+ #
2307
+ # * **AvailablePlayerSessions** – number of player session slots
2308
+ # currently available in active game sessions across the fleet,
2309
+ # calculated by subtracting a game session's current player session
2310
+ # count from its maximum player session count. This number includes
2311
+ # game sessions that are not currently accepting players (game
2312
+ # session `PlayerSessionCreationPolicy` = `DENY_ALL`).
2313
+ #
2314
+ # * **ActiveInstances** – number of instances currently running a game
2315
+ # session.
2316
+ #
2317
+ # * **IdleInstances** – number of instances not currently running a
2318
+ # game session.
2319
+ # @return [String]
2320
+ class PutScalingPolicyInput < Struct.new(
2321
+ :name,
2322
+ :fleet_id,
2323
+ :scaling_adjustment,
2324
+ :scaling_adjustment_type,
2325
+ :threshold,
2326
+ :comparison_operator,
2327
+ :evaluation_periods,
2328
+ :metric_name)
2329
+ include Aws::Structure
2330
+ end
2331
+
2332
+ # Represents the returned data in response to a request action.
2333
+ # @!attribute [rw] name
2334
+ # Descriptive label associated with a scaling policy. Policy names do
2335
+ # not need to be unique.
2336
+ # @return [String]
2337
+ class PutScalingPolicyOutput < Struct.new(
2338
+ :name)
2339
+ include Aws::Structure
2340
+ end
2341
+
2342
+ # Represents the input for a request action.
2343
+ # @note When making an API call, pass RequestUploadCredentialsInput
2344
+ # data as a hash:
2345
+ #
2346
+ # {
2347
+ # build_id: "BuildId", # required
2348
+ # }
2349
+ # @!attribute [rw] build_id
2350
+ # Unique identifier for the build you want to get credentials for.
2351
+ # @return [String]
2352
+ class RequestUploadCredentialsInput < Struct.new(
2353
+ :build_id)
2354
+ include Aws::Structure
2355
+ end
2356
+
2357
+ # Represents the returned data in response to a request action.
2358
+ # @!attribute [rw] upload_credentials
2359
+ # AWS credentials required when uploading a game build to the storage
2360
+ # location. These credentials have a limited lifespan and are valid
2361
+ # only for the build they were issued for.
2362
+ # @return [Types::AwsCredentials]
2363
+ #
2364
+ # @!attribute [rw] storage_location
2365
+ # Amazon S3 path and key, identifying where the game build files are
2366
+ # stored.
2367
+ # @return [Types::S3Location]
2368
+ class RequestUploadCredentialsOutput < Struct.new(
2369
+ :upload_credentials,
2370
+ :storage_location)
2371
+ include Aws::Structure
2372
+ end
2373
+
2374
+ # Represents the input for a request action.
2375
+ # @note When making an API call, pass ResolveAliasInput
2376
+ # data as a hash:
2377
+ #
2378
+ # {
2379
+ # alias_id: "AliasId", # required
2380
+ # }
2381
+ # @!attribute [rw] alias_id
2382
+ # Unique identifier for the alias you want to resolve.
2383
+ # @return [String]
2384
+ class ResolveAliasInput < Struct.new(
2385
+ :alias_id)
2386
+ include Aws::Structure
2387
+ end
2388
+
2389
+ # Represents the returned data in response to a request action.
2390
+ # @!attribute [rw] fleet_id
2391
+ # Fleet ID associated with the requested alias.
2392
+ # @return [String]
2393
+ class ResolveAliasOutput < Struct.new(
2394
+ :fleet_id)
2395
+ include Aws::Structure
2396
+ end
2397
+
2398
+ # Policy that limits the number of game sessions a player can create on
2399
+ # the same fleet. This optional policy gives game owners control over
2400
+ # how players can consume available game server resources. A resource
2401
+ # creation policy makes the following statement: "An individual player
2402
+ # can create a maximum number of new game sessions within a specified
2403
+ # time period".
2404
+ #
2405
+ # The policy is evaluated when a player tries to create a new game
2406
+ # session. For example, with a policy of 10 new game sessions and a time
2407
+ # period of 60 minutes, on receiving a `CreateGameSession` request,
2408
+ # GameLift checks that the player (identified by `CreatorId`) has
2409
+ # created fewer than 10 game sessions in the past 60 minutes.
2410
+ # @note When making an API call, pass ResourceCreationLimitPolicy
2411
+ # data as a hash:
2412
+ #
2413
+ # {
2414
+ # new_game_sessions_per_creator: 1,
2415
+ # policy_period_in_minutes: 1,
2416
+ # }
2417
+ # @!attribute [rw] new_game_sessions_per_creator
2418
+ # Maximum number of game sessions that an individual can create during
2419
+ # the policy period.
2420
+ # @return [Integer]
2421
+ #
2422
+ # @!attribute [rw] policy_period_in_minutes
2423
+ # Time span used in evaluating the resource creation limit policy.
2424
+ # @return [Integer]
2425
+ class ResourceCreationLimitPolicy < Struct.new(
2426
+ :new_game_sessions_per_creator,
2427
+ :policy_period_in_minutes)
2428
+ include Aws::Structure
2429
+ end
2430
+
2431
+ # Routing configuration for a fleet alias.
2432
+ # @note When making an API call, pass RoutingStrategy
2433
+ # data as a hash:
2434
+ #
2435
+ # {
2436
+ # type: "SIMPLE", # accepts SIMPLE, TERMINAL
2437
+ # fleet_id: "FleetId",
2438
+ # message: "FreeText",
2439
+ # }
2440
+ # @!attribute [rw] type
2441
+ # Type of routing strategy.
2442
+ #
2443
+ # Possible routing types include the following:
2444
+ #
2445
+ # * **SIMPLE** – The alias resolves to one specific fleet. Use this
2446
+ # type when routing to active fleets.
2447
+ #
2448
+ # * **TERMINAL** – The alias does not resolve to a fleet but instead
2449
+ # can be used to display a message to the user. A terminal alias
2450
+ # throws a TerminalRoutingStrategyException with the RoutingStrategy
2451
+ # message embedded.
2452
+ # @return [String]
2453
+ #
2454
+ # @!attribute [rw] fleet_id
2455
+ # Unique identifier for a fleet.
2456
+ # @return [String]
2457
+ #
2458
+ # @!attribute [rw] message
2459
+ # Message text to be used with a terminal routing strategy.
2460
+ # @return [String]
2461
+ class RoutingStrategy < Struct.new(
2462
+ :type,
2463
+ :fleet_id,
2464
+ :message)
2465
+ include Aws::Structure
2466
+ end
2467
+
2468
+ # Collection of server process configurations that describe what
2469
+ # processes should be run on each instance in a fleet. An instance can
2470
+ # launch and maintain multiple server processes based on the runtime
2471
+ # configuration; it regularly checks for an updated runtime
2472
+ # configuration and starts new server processes to match the latest
2473
+ # version.
2474
+ #
2475
+ # The key purpose of a runtime configuration with multiple server
2476
+ # process configurations is to be able to run more than one kind of game
2477
+ # server in a single fleet. You can include configurations for more than
2478
+ # one server executable in order to run two or more different programs
2479
+ # to run on the same instance. This option might be useful, for example,
2480
+ # to run more than one version of your game server on the same fleet.
2481
+ # Another option is to specify configurations for the same server
2482
+ # executable but with different launch parameters.
2483
+ #
2484
+ # A GameLift instance is limited to 50 processes running simultaneously.
2485
+ # To calculate the total number of processes specified in a runtime
2486
+ # configuration, add the values of the `ConcurrentExecutions` parameter
2487
+ # for each ` ServerProcess ` object in the runtime configuration.
2488
+ # @note When making an API call, pass RuntimeConfiguration
2489
+ # data as a hash:
2490
+ #
2491
+ # {
2492
+ # server_processes: [
2493
+ # {
2494
+ # launch_path: "NonZeroAndMaxString", # required
2495
+ # parameters: "NonZeroAndMaxString",
2496
+ # concurrent_executions: 1, # required
2497
+ # },
2498
+ # ],
2499
+ # }
2500
+ # @!attribute [rw] server_processes
2501
+ # Collection of server process configurations describing what server
2502
+ # processes to run on each instance in a fleet
2503
+ # @return [Array<Types::ServerProcess>]
2504
+ class RuntimeConfiguration < Struct.new(
2505
+ :server_processes)
2506
+ include Aws::Structure
2507
+ end
2508
+
2509
+ # Location in Amazon Simple Storage Service (Amazon S3) where a build's
2510
+ # files are stored. This location is assigned in response to a
2511
+ # CreateBuild call, and is always in the same region as the service used
2512
+ # to create the build. For more details see the [Amazon S3
2513
+ # documentation][1].
2514
+ #
2515
+ #
2516
+ #
2517
+ # [1]: http://aws.amazon.com/documentation/s3/
2518
+ # @note When making an API call, pass S3Location
2519
+ # data as a hash:
2520
+ #
2521
+ # {
2522
+ # bucket: "NonEmptyString",
2523
+ # key: "NonEmptyString",
2524
+ # role_arn: "NonEmptyString",
2525
+ # }
2526
+ # @!attribute [rw] bucket
2527
+ # Amazon S3 bucket identifier.
2528
+ # @return [String]
2529
+ #
2530
+ # @!attribute [rw] key
2531
+ # Amazon S3 bucket key.
2532
+ # @return [String]
2533
+ #
2534
+ # @!attribute [rw] role_arn
2535
+ # Amazon resource number for the cross-account access role that allows
2536
+ # GameLift access to the S3 bucket.
2537
+ # @return [String]
2538
+ class S3Location < Struct.new(
2539
+ :bucket,
2540
+ :key,
2541
+ :role_arn)
2542
+ include Aws::Structure
2543
+ end
2544
+
2545
+ # Rule that controls how a fleet is scaled. Scaling policies are
2546
+ # uniquely identified by the combination of name and fleet ID.
2547
+ # @!attribute [rw] fleet_id
2548
+ # Unique identity for the fleet associated with this scaling policy.
2549
+ # @return [String]
2550
+ #
2551
+ # @!attribute [rw] name
2552
+ # Descriptive label associated with a scaling policy. Policy names do
2553
+ # not need to be unique.
2554
+ # @return [String]
2555
+ #
2556
+ # @!attribute [rw] status
2557
+ # Current status of the scaling policy. The scaling policy is only in
2558
+ # force when in an `ACTIVE` status.
2559
+ #
2560
+ # * **ACTIVE** – The scaling policy is currently in force.
2561
+ #
2562
+ # * **UPDATE\_REQUESTED** – A request to update the scaling policy has
2563
+ # been received.
2564
+ #
2565
+ # * **UPDATING** – A change is being made to the scaling policy.
2566
+ #
2567
+ # * **DELETE\_REQUESTED** – A request to delete the scaling policy has
2568
+ # been received.
2569
+ #
2570
+ # * **DELETING** – The scaling policy is being deleted.
2571
+ #
2572
+ # * **DELETED** – The scaling policy has been deleted.
2573
+ #
2574
+ # * **ERROR** – An error occurred in creating the policy. It should be
2575
+ # removed and recreated.
2576
+ # @return [String]
2577
+ #
2578
+ # @!attribute [rw] scaling_adjustment
2579
+ # Amount of adjustment to make, based on the scaling adjustment type.
2580
+ # @return [Integer]
2581
+ #
2582
+ # @!attribute [rw] scaling_adjustment_type
2583
+ # Type of adjustment to make to a fleet's instance count (see
2584
+ # FleetCapacity):
2585
+ #
2586
+ # * **ChangeInCapacity** – add (or subtract) the scaling adjustment
2587
+ # value from the current instance count. Positive values scale up
2588
+ # while negative values scale down.
2589
+ #
2590
+ # * **ExactCapacity** – set the instance count to the scaling
2591
+ # adjustment value.
2592
+ #
2593
+ # * **PercentChangeInCapacity** – increase or reduce the current
2594
+ # instance count by the scaling adjustment, read as a percentage.
2595
+ # Positive values scale up while negative values scale down.
2596
+ # @return [String]
2597
+ #
2598
+ # @!attribute [rw] comparison_operator
2599
+ # Comparison operator to use when measuring a metric against the
2600
+ # threshold value.
2601
+ # @return [String]
2602
+ #
2603
+ # @!attribute [rw] threshold
2604
+ # Metric value used to trigger a scaling event.
2605
+ # @return [Float]
2606
+ #
2607
+ # @!attribute [rw] evaluation_periods
2608
+ # Length of time (in minutes) the metric must be at or beyond the
2609
+ # threshold before a scaling event is triggered.
2610
+ # @return [Integer]
2611
+ #
2612
+ # @!attribute [rw] metric_name
2613
+ # Name of the GameLift-defined metric that is used to trigger an
2614
+ # adjustment.
2615
+ #
2616
+ # * **ActivatingGameSessions** – number of game sessions in the
2617
+ # process of being created (game session status = `ACTIVATING`).
2618
+ #
2619
+ # * **ActiveGameSessions** – number of game sessions currently running
2620
+ # (game session status = `ACTIVE`).
2621
+ #
2622
+ # * **CurrentPlayerSessions** – number of active or reserved player
2623
+ # sessions (player session status = `ACTIVE` or `RESERVED`).
2624
+ #
2625
+ # * **AvailablePlayerSessions** – number of player session slots
2626
+ # currently available in active game sessions across the fleet,
2627
+ # calculated by subtracting a game session's current player session
2628
+ # count from its maximum player session count. This number does
2629
+ # include game sessions that are not currently accepting players
2630
+ # (game session `PlayerSessionCreationPolicy` = `DENY_ALL`).
2631
+ #
2632
+ # * **ActiveInstances** – number of instances currently running a game
2633
+ # session.
2634
+ #
2635
+ # * **IdleInstances** – number of instances not currently running a
2636
+ # game session.
2637
+ # @return [String]
2638
+ class ScalingPolicy < Struct.new(
2639
+ :fleet_id,
2640
+ :name,
2641
+ :status,
2642
+ :scaling_adjustment,
2643
+ :scaling_adjustment_type,
2644
+ :comparison_operator,
2645
+ :threshold,
2646
+ :evaluation_periods,
2647
+ :metric_name)
2648
+ include Aws::Structure
2649
+ end
2650
+
2651
+ # Represents the input for a request action.
2652
+ # @note When making an API call, pass SearchGameSessionsInput
2653
+ # data as a hash:
2654
+ #
2655
+ # {
2656
+ # fleet_id: "FleetId",
2657
+ # alias_id: "AliasId",
2658
+ # filter_expression: "NonZeroAndMaxString",
2659
+ # sort_expression: "NonZeroAndMaxString",
2660
+ # limit: 1,
2661
+ # next_token: "NonZeroAndMaxString",
2662
+ # }
2663
+ # @!attribute [rw] fleet_id
2664
+ # Unique identifier for a fleet. Each request must reference either a
2665
+ # fleet ID or alias ID, but not both.
2666
+ # @return [String]
2667
+ #
2668
+ # @!attribute [rw] alias_id
2669
+ # Unique identifier for a fleet alias. Each request must reference
2670
+ # either a fleet ID or alias ID, but not both.
2671
+ # @return [String]
2672
+ #
2673
+ # @!attribute [rw] filter_expression
2674
+ # String containing the search criteria for the session search. If no
2675
+ # filter expression is included, the request returns results for all
2676
+ # game sessions in the fleet that are in ACTIVE status.
2677
+ #
2678
+ # A filter expression can contain one or multiple conditions. Each
2679
+ # condition consists of the following:
2680
+ #
2681
+ # * **Operand** -- Name of a game session attribute. Valid values are
2682
+ # `gameSessionName`, `gameSessionId`, `creationTimeMillis`,
2683
+ # `playerSessionCount`, `maximumSessions`,
2684
+ # `hasAvailablePlayerSessions`.
2685
+ #
2686
+ # * **Comparator** -- Valid comparators are: `=`, `<>`, `<`, `>`,
2687
+ # `<=`, `>=`.
2688
+ #
2689
+ # * **Value** -- Value to be searched for. Values can be numbers,
2690
+ # boolean values (true/false) or strings. String values are case
2691
+ # sensitive, enclosed in single quotes. Special characters must be
2692
+ # escaped. Boolean and string values can only be used with the
2693
+ # comparators `=` and `<>`. For example, the following filter
2694
+ # expression searches on `gameSessionName`\: "`FilterExpression":
2695
+ # "gameSessionName = 'Matt\'s Awesome Game 1'"`.
2696
+ #
2697
+ # To chain multiple conditions in a single expression, use the logical
2698
+ # keywords `AND`, `OR`, and `NOT` and parentheses as needed. For
2699
+ # example: `x AND y AND NOT z`, `NOT (x OR y)`.
2700
+ #
2701
+ # Session search evaluates conditions from left to right using the
2702
+ # following precedence rules:
2703
+ #
2704
+ # 1. `=`, `<>`, `<`, `>`, `<=`, `>=`
2705
+ #
2706
+ # 2. Parentheses
2707
+ #
2708
+ # 3. NOT
2709
+ #
2710
+ # 4. AND
2711
+ #
2712
+ # 5. OR
2713
+ #
2714
+ # For example, this filter expression retrieves game sessions hosting
2715
+ # at least ten players that have an open player slot:
2716
+ # `"maximumSessions>=10 AND hasAvailablePlayerSessions=true"`.
2717
+ # @return [String]
2718
+ #
2719
+ # @!attribute [rw] sort_expression
2720
+ # Instructions on how to sort the search results. If no sort
2721
+ # expression is included, the request returns results in random order.
2722
+ # A sort expression consists of the following elements:
2723
+ #
2724
+ # * **Operand** -- Name of a game session attribute. Valid values are
2725
+ # `gameSessionName`, `gameSessionId`, `creationTimeMillis`,
2726
+ # `playerSessionCount`, `maximumSessions`,
2727
+ # `hasAvailablePlayerSessions`.
2728
+ #
2729
+ # * **Order** -- Valid sort orders are `ASC` (ascending) and `DESC`
2730
+ # (descending).
2731
+ #
2732
+ # For example, this sort expression returns the oldest active sessions
2733
+ # first: `"SortExpression": "creationTimeMillis ASC"`. Results with a
2734
+ # null value for the sort operand are returned at the end of the list.
2735
+ # @return [String]
2736
+ #
2737
+ # @!attribute [rw] limit
2738
+ # Maximum number of results to return. Use this parameter with
2739
+ # `NextToken` to get results as a set of sequential pages. The maximum
2740
+ # number of results returned is 20, even if this value is not set or
2741
+ # is set higher than 20.
2742
+ # @return [Integer]
2743
+ #
2744
+ # @!attribute [rw] next_token
2745
+ # Token indicating the start of the next sequential page of results.
2746
+ # Use the token that is returned with a previous call to this action.
2747
+ # To specify the start of the result set, do not specify a value.
2748
+ # @return [String]
2749
+ class SearchGameSessionsInput < Struct.new(
2750
+ :fleet_id,
2751
+ :alias_id,
2752
+ :filter_expression,
2753
+ :sort_expression,
2754
+ :limit,
2755
+ :next_token)
2756
+ include Aws::Structure
2757
+ end
2758
+
2759
+ # Represents the returned data in response to a request action.
2760
+ # @!attribute [rw] game_sessions
2761
+ # Collection of objects containing game session properties for each
2762
+ # session matching the request.
2763
+ # @return [Array<Types::GameSession>]
2764
+ #
2765
+ # @!attribute [rw] next_token
2766
+ # Token indicating where to resume retrieving results on the next call
2767
+ # to this action. If no token is returned, these results represent the
2768
+ # end of the list.
2769
+ # @return [String]
2770
+ class SearchGameSessionsOutput < Struct.new(
2771
+ :game_sessions,
2772
+ :next_token)
2773
+ include Aws::Structure
2774
+ end
2775
+
2776
+ # A set of instructions for launching server processes on each instance
2777
+ # in a fleet. Each instruction set identifies the location of the server
2778
+ # executable, optional launch parameters, and the number of server
2779
+ # processes with this configuration to maintain concurrently on the
2780
+ # instance. Server process configurations make up a fleet's `
2781
+ # RuntimeConfiguration `.
2782
+ # @note When making an API call, pass ServerProcess
2783
+ # data as a hash:
2784
+ #
2785
+ # {
2786
+ # launch_path: "NonZeroAndMaxString", # required
2787
+ # parameters: "NonZeroAndMaxString",
2788
+ # concurrent_executions: 1, # required
2789
+ # }
2790
+ # @!attribute [rw] launch_path
2791
+ # Location of the server executable in a game build. All game builds
2792
+ # are installed on instances at the root : for Windows instances
2793
+ # `C:\game`, and for Linux instances `/local/game`. A Windows game
2794
+ # build with an executable file located at `MyGame\latest\server.exe`
2795
+ # must have a launch path of "`C:\game\MyGame\latest\server.exe`". A
2796
+ # Linux game build with an executable file located at
2797
+ # `MyGame/latest/server.exe` must have a launch path of
2798
+ # "`/local/game/MyGame/latest/server.exe`".
2799
+ # @return [String]
2800
+ #
2801
+ # @!attribute [rw] parameters
2802
+ # Optional list of parameters to pass to the server executable on
2803
+ # launch.
2804
+ # @return [String]
2805
+ #
2806
+ # @!attribute [rw] concurrent_executions
2807
+ # Number of server processes using this configuration to run
2808
+ # concurrently on an instance.
2809
+ # @return [Integer]
2810
+ class ServerProcess < Struct.new(
2811
+ :launch_path,
2812
+ :parameters,
2813
+ :concurrent_executions)
2814
+ include Aws::Structure
2815
+ end
2816
+
2817
+ # Represents the input for a request action.
2818
+ # @note When making an API call, pass UpdateAliasInput
2819
+ # data as a hash:
2820
+ #
2821
+ # {
2822
+ # alias_id: "AliasId", # required
2823
+ # name: "NonBlankAndLengthConstraintString",
2824
+ # description: "NonZeroAndMaxString",
2825
+ # routing_strategy: {
2826
+ # type: "SIMPLE", # accepts SIMPLE, TERMINAL
2827
+ # fleet_id: "FleetId",
2828
+ # message: "FreeText",
2829
+ # },
2830
+ # }
2831
+ # @!attribute [rw] alias_id
2832
+ # Unique identifier for a fleet alias. Specify the alias you want to
2833
+ # update.
2834
+ # @return [String]
2835
+ #
2836
+ # @!attribute [rw] name
2837
+ # Descriptive label associated with an alias. Alias names do not need
2838
+ # to be unique.
2839
+ # @return [String]
2840
+ #
2841
+ # @!attribute [rw] description
2842
+ # Human-readable description of an alias.
2843
+ # @return [String]
2844
+ #
2845
+ # @!attribute [rw] routing_strategy
2846
+ # Object specifying the fleet and routing type to use for the alias.
2847
+ # @return [Types::RoutingStrategy]
2848
+ class UpdateAliasInput < Struct.new(
2849
+ :alias_id,
2850
+ :name,
2851
+ :description,
2852
+ :routing_strategy)
2853
+ include Aws::Structure
2854
+ end
2855
+
2856
+ # Represents the returned data in response to a request action.
2857
+ # @!attribute [rw] alias
2858
+ # Object containing the updated alias configuration.
2859
+ # @return [Types::Alias]
2860
+ class UpdateAliasOutput < Struct.new(
2861
+ :alias)
2862
+ include Aws::Structure
2863
+ end
2864
+
2865
+ # Represents the input for a request action.
2866
+ # @note When making an API call, pass UpdateBuildInput
2867
+ # data as a hash:
2868
+ #
2869
+ # {
2870
+ # build_id: "BuildId", # required
2871
+ # name: "NonZeroAndMaxString",
2872
+ # version: "NonZeroAndMaxString",
2873
+ # }
2874
+ # @!attribute [rw] build_id
2875
+ # Unique identifier of the build you want to update.
2876
+ # @return [String]
2877
+ #
2878
+ # @!attribute [rw] name
2879
+ # Descriptive label associated with a build. Build names do not need
2880
+ # to be unique.
2881
+ # @return [String]
2882
+ #
2883
+ # @!attribute [rw] version
2884
+ # Version associated with this build. Version strings do not need to
2885
+ # be unique to a build.
2886
+ # @return [String]
2887
+ class UpdateBuildInput < Struct.new(
2888
+ :build_id,
2889
+ :name,
2890
+ :version)
2891
+ include Aws::Structure
2892
+ end
2893
+
2894
+ # Represents the returned data in response to a request action.
2895
+ # @!attribute [rw] build
2896
+ # Object containing the updated build record.
2897
+ # @return [Types::Build]
2898
+ class UpdateBuildOutput < Struct.new(
2899
+ :build)
2900
+ include Aws::Structure
2901
+ end
2902
+
2903
+ # Represents the input for a request action.
2904
+ # @note When making an API call, pass UpdateFleetAttributesInput
2905
+ # data as a hash:
2906
+ #
2907
+ # {
2908
+ # fleet_id: "FleetId", # required
2909
+ # name: "NonZeroAndMaxString",
2910
+ # description: "NonZeroAndMaxString",
2911
+ # new_game_session_protection_policy: "NoProtection", # accepts NoProtection, FullProtection
2912
+ # resource_creation_limit_policy: {
2913
+ # new_game_sessions_per_creator: 1,
2914
+ # policy_period_in_minutes: 1,
2915
+ # },
2916
+ # }
2917
+ # @!attribute [rw] fleet_id
2918
+ # Unique identifier for the fleet you want to update attribute
2919
+ # metadata for.
2920
+ # @return [String]
2921
+ #
2922
+ # @!attribute [rw] name
2923
+ # Descriptive label associated with a fleet. Fleet names do not need
2924
+ # to be unique.
2925
+ # @return [String]
2926
+ #
2927
+ # @!attribute [rw] description
2928
+ # Human-readable description of a fleet.
2929
+ # @return [String]
2930
+ #
2931
+ # @!attribute [rw] new_game_session_protection_policy
2932
+ # Game session protection policy to apply to all new instances created
2933
+ # in this fleet. Instances that already exist are not affected. You
2934
+ # can set protection for individual instances using UpdateGameSession.
2935
+ #
2936
+ # * **NoProtection** – The game session can be terminated during a
2937
+ # scale-down event.
2938
+ #
2939
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
2940
+ # it cannot be terminated during a scale-down event.
2941
+ # @return [String]
2942
+ #
2943
+ # @!attribute [rw] resource_creation_limit_policy
2944
+ # Policy that limits the number of game sessions an individual player
2945
+ # can create over a span of time.
2946
+ # @return [Types::ResourceCreationLimitPolicy]
2947
+ class UpdateFleetAttributesInput < Struct.new(
2948
+ :fleet_id,
2949
+ :name,
2950
+ :description,
2951
+ :new_game_session_protection_policy,
2952
+ :resource_creation_limit_policy)
2953
+ include Aws::Structure
2954
+ end
2955
+
2956
+ # Represents the returned data in response to a request action.
2957
+ # @!attribute [rw] fleet_id
2958
+ # Unique identifier for the updated fleet.
2959
+ # @return [String]
2960
+ class UpdateFleetAttributesOutput < Struct.new(
2961
+ :fleet_id)
2962
+ include Aws::Structure
2963
+ end
2964
+
2965
+ # Represents the input for a request action.
2966
+ # @note When making an API call, pass UpdateFleetCapacityInput
2967
+ # data as a hash:
2968
+ #
2969
+ # {
2970
+ # fleet_id: "FleetId", # required
2971
+ # desired_instances: 1,
2972
+ # min_size: 1,
2973
+ # max_size: 1,
2974
+ # }
2975
+ # @!attribute [rw] fleet_id
2976
+ # Unique identifier for the fleet you want to update capacity for.
2977
+ # @return [String]
2978
+ #
2979
+ # @!attribute [rw] desired_instances
2980
+ # Number of EC2 instances you want this fleet to host.
2981
+ # @return [Integer]
2982
+ #
2983
+ # @!attribute [rw] min_size
2984
+ # Minimum value allowed for the fleet's instance count. Default if
2985
+ # not set is 0.
2986
+ # @return [Integer]
2987
+ #
2988
+ # @!attribute [rw] max_size
2989
+ # Maximum value allowed for the fleet's instance count. Default if
2990
+ # not set is 1.
2991
+ # @return [Integer]
2992
+ class UpdateFleetCapacityInput < Struct.new(
2993
+ :fleet_id,
2994
+ :desired_instances,
2995
+ :min_size,
2996
+ :max_size)
2997
+ include Aws::Structure
2998
+ end
2999
+
3000
+ # Represents the returned data in response to a request action.
3001
+ # @!attribute [rw] fleet_id
3002
+ # Unique identifier for the updated fleet.
3003
+ # @return [String]
3004
+ class UpdateFleetCapacityOutput < Struct.new(
3005
+ :fleet_id)
3006
+ include Aws::Structure
3007
+ end
3008
+
3009
+ # Represents the input for a request action.
3010
+ # @note When making an API call, pass UpdateFleetPortSettingsInput
3011
+ # data as a hash:
3012
+ #
3013
+ # {
3014
+ # fleet_id: "FleetId", # required
3015
+ # inbound_permission_authorizations: [
3016
+ # {
3017
+ # from_port: 1, # required
3018
+ # to_port: 1, # required
3019
+ # ip_range: "NonBlankString", # required
3020
+ # protocol: "TCP", # required, accepts TCP, UDP
3021
+ # },
3022
+ # ],
3023
+ # inbound_permission_revocations: [
3024
+ # {
3025
+ # from_port: 1, # required
3026
+ # to_port: 1, # required
3027
+ # ip_range: "NonBlankString", # required
3028
+ # protocol: "TCP", # required, accepts TCP, UDP
3029
+ # },
3030
+ # ],
3031
+ # }
3032
+ # @!attribute [rw] fleet_id
3033
+ # Unique identifier for the fleet you want to update port settings
3034
+ # for.
3035
+ # @return [String]
3036
+ #
3037
+ # @!attribute [rw] inbound_permission_authorizations
3038
+ # Collection of port settings to be added to the fleet record.
3039
+ # @return [Array<Types::IpPermission>]
3040
+ #
3041
+ # @!attribute [rw] inbound_permission_revocations
3042
+ # Collection of port settings to be removed from the fleet record.
3043
+ # @return [Array<Types::IpPermission>]
3044
+ class UpdateFleetPortSettingsInput < Struct.new(
3045
+ :fleet_id,
3046
+ :inbound_permission_authorizations,
3047
+ :inbound_permission_revocations)
3048
+ include Aws::Structure
3049
+ end
3050
+
3051
+ # Represents the returned data in response to a request action.
3052
+ # @!attribute [rw] fleet_id
3053
+ # Unique identifier for the updated fleet.
3054
+ # @return [String]
3055
+ class UpdateFleetPortSettingsOutput < Struct.new(
3056
+ :fleet_id)
3057
+ include Aws::Structure
3058
+ end
3059
+
3060
+ # Represents the input for a request action.
3061
+ # @note When making an API call, pass UpdateGameSessionInput
3062
+ # data as a hash:
3063
+ #
3064
+ # {
3065
+ # game_session_id: "ArnStringModel", # required
3066
+ # maximum_player_session_count: 1,
3067
+ # name: "NonZeroAndMaxString",
3068
+ # player_session_creation_policy: "ACCEPT_ALL", # accepts ACCEPT_ALL, DENY_ALL
3069
+ # protection_policy: "NoProtection", # accepts NoProtection, FullProtection
3070
+ # }
3071
+ # @!attribute [rw] game_session_id
3072
+ # Unique identifier for the game session to update. Game session ID
3073
+ # format is as follows:
3074
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
3075
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either
3076
+ # a custom ID string (if one was specified when the game session was
3077
+ # created) an autogenerated string.
3078
+ # @return [String]
3079
+ #
3080
+ # @!attribute [rw] maximum_player_session_count
3081
+ # Maximum number of players that can be simultaneously connected to
3082
+ # the game session.
3083
+ # @return [Integer]
3084
+ #
3085
+ # @!attribute [rw] name
3086
+ # Descriptive label associated with a game session. Session names do
3087
+ # not need to be unique.
3088
+ # @return [String]
3089
+ #
3090
+ # @!attribute [rw] player_session_creation_policy
3091
+ # Policy determining whether or not the game session accepts new
3092
+ # players.
3093
+ # @return [String]
3094
+ #
3095
+ # @!attribute [rw] protection_policy
3096
+ # Game session protection policy to apply to this game session only.
3097
+ #
3098
+ # * **NoProtection** – The game session can be terminated during a
3099
+ # scale-down event.
3100
+ #
3101
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
3102
+ # it cannot be terminated during a scale-down event.
3103
+ # @return [String]
3104
+ class UpdateGameSessionInput < Struct.new(
3105
+ :game_session_id,
3106
+ :maximum_player_session_count,
3107
+ :name,
3108
+ :player_session_creation_policy,
3109
+ :protection_policy)
3110
+ include Aws::Structure
3111
+ end
3112
+
3113
+ # Represents the returned data in response to a request action.
3114
+ # @!attribute [rw] game_session
3115
+ # Object containing the updated game session metadata.
3116
+ # @return [Types::GameSession]
3117
+ class UpdateGameSessionOutput < Struct.new(
3118
+ :game_session)
3119
+ include Aws::Structure
3120
+ end
3121
+
3122
+ # Represents the input for a request action.
3123
+ # @note When making an API call, pass UpdateRuntimeConfigurationInput
3124
+ # data as a hash:
3125
+ #
3126
+ # {
3127
+ # fleet_id: "FleetId", # required
3128
+ # runtime_configuration: { # required
3129
+ # server_processes: [
3130
+ # {
3131
+ # launch_path: "NonZeroAndMaxString", # required
3132
+ # parameters: "NonZeroAndMaxString",
3133
+ # concurrent_executions: 1, # required
3134
+ # },
3135
+ # ],
3136
+ # },
3137
+ # }
3138
+ # @!attribute [rw] fleet_id
3139
+ # Unique identifier of the fleet to update runtime configuration for.
3140
+ # @return [String]
3141
+ #
3142
+ # @!attribute [rw] runtime_configuration
3143
+ # Instructions for launching server processes on each instance in the
3144
+ # fleet. The runtime configuration for a fleet has a collection of
3145
+ # server process configurations, one for each type of server process
3146
+ # to run on an instance. A server process configuration specifies the
3147
+ # location of the server executable, launch parameters, and the number
3148
+ # of concurrent processes with that configuration to maintain on each
3149
+ # instance.
3150
+ # @return [Types::RuntimeConfiguration]
3151
+ class UpdateRuntimeConfigurationInput < Struct.new(
3152
+ :fleet_id,
3153
+ :runtime_configuration)
3154
+ include Aws::Structure
3155
+ end
3156
+
3157
+ # Represents the returned data in response to a request action.
3158
+ # @!attribute [rw] runtime_configuration
3159
+ # The runtime configuration currently in force. If the update was
3160
+ # successful, this object matches the one in the request.
3161
+ # @return [Types::RuntimeConfiguration]
3162
+ class UpdateRuntimeConfigurationOutput < Struct.new(
3163
+ :runtime_configuration)
3164
+ include Aws::Structure
3165
+ end
3166
+
3167
+ end
3168
+ end
3169
+ end