aws-sdk-gamelift 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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