aws-sdk-gamelift 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 448614e679613bdba983f8085cbde14ba7721e5d
4
+ data.tar.gz: 359be3a30865d4cddc394f67670e8aa28ac2061d
5
+ SHA512:
6
+ metadata.gz: 00f52e74d149106508d58d50490e0f95e5569fd57d81c21c231eef0128a380e942cacd1e3dd5cfcabaeccb6ad204ff42ce0e5ead6d08a83acaf423f32ced5f6a
7
+ data.tar.gz: 521de73c04f8ae3cb18aca7f5f175381ac826f6a45f26bf8c3eeb01996574643ecdff5e14c56bc76114965e59bcca5b590562ea60f4c7e7d8cc43da45e281936
@@ -0,0 +1,47 @@
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
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-gamelift/types'
12
+ require_relative 'aws-sdk-gamelift/client_api'
13
+ require_relative 'aws-sdk-gamelift/client'
14
+ require_relative 'aws-sdk-gamelift/errors'
15
+ require_relative 'aws-sdk-gamelift/resource'
16
+ require_relative 'aws-sdk-gamelift/customizations'
17
+
18
+ # This module provides support for Amazon GameLift. This module is available in the
19
+ # `aws-sdk-gamelift` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon GameLift all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::GameLift::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::GameLift
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,2475 @@
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
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:gamelift)
25
+
26
+ module Aws
27
+ module GameLift
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :gamelift
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Creates an alias for a fleet. You can use an alias to anonymize your
143
+ # fleet by referencing an alias instead of a specific fleet when you
144
+ # create game sessions. Amazon GameLift supports two types of routing
145
+ # strategies for aliases: simple and terminal. Use a simple alias to
146
+ # point to an active fleet. Use a terminal alias to display a message to
147
+ # incoming traffic instead of routing players to an active fleet. This
148
+ # option is useful when a game server is no longer supported but you
149
+ # want to provide better messaging than a standard 404 error.
150
+ #
151
+ # To create a fleet alias, specify an alias name, routing strategy, and
152
+ # optional description. If successful, a new alias record is returned,
153
+ # including an alias ID, which you can reference when creating a game
154
+ # session. To reassign the alias to another fleet ID, call UpdateAlias.
155
+ # @option params [required, String] :name
156
+ # Descriptive label associated with an alias. Alias names do not need to
157
+ # be unique.
158
+ # @option params [String] :description
159
+ # Human-readable description of an alias.
160
+ # @option params [required, Types::RoutingStrategy] :routing_strategy
161
+ # Object specifying the fleet and routing type to use for the alias.
162
+ # @return [Types::CreateAliasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
163
+ #
164
+ # * {Types::CreateAliasOutput#alias #Alias} => Types::Alias
165
+ #
166
+ # @example Request syntax with placeholder values
167
+ # resp = client.create_alias({
168
+ # name: "NonBlankAndLengthConstraintString", # required
169
+ # description: "NonZeroAndMaxString",
170
+ # routing_strategy: { # required
171
+ # type: "SIMPLE", # accepts SIMPLE, TERMINAL
172
+ # fleet_id: "FleetId",
173
+ # message: "FreeText",
174
+ # },
175
+ # })
176
+ #
177
+ # @example Response structure
178
+ # resp.alias.alias_id #=> String
179
+ # resp.alias.name #=> String
180
+ # resp.alias.description #=> String
181
+ # resp.alias.routing_strategy.type #=> String, one of "SIMPLE", "TERMINAL"
182
+ # resp.alias.routing_strategy.fleet_id #=> String
183
+ # resp.alias.routing_strategy.message #=> String
184
+ # resp.alias.creation_time #=> Time
185
+ # resp.alias.last_updated_time #=> Time
186
+ # @overload create_alias(params = {})
187
+ # @param [Hash] params ({})
188
+ def create_alias(params = {}, options = {})
189
+ req = build_request(:create_alias, params)
190
+ req.send_request(options)
191
+ end
192
+
193
+ # Initializes a new build record and generates information required to
194
+ # upload a game build to Amazon GameLift. Once the build record has been
195
+ # created and its status is `INITIALIZED`, you can upload your game
196
+ # build.
197
+ #
198
+ # Do not use this API action unless you are using your own Amazon Simple
199
+ # Storage Service (Amazon S3) client and need to manually upload your
200
+ # build files. Instead, to create a build, use the CLI command
201
+ # `upload-build`, which creates a new build record and uploads the build
202
+ # files in one step. (See the [Amazon GameLift Developer Guide][1] help
203
+ # on packaging and uploading your build.)
204
+ #
205
+ # To create a new build, identify the operating system of the game
206
+ # server binaries. All game servers in a build must use the same
207
+ # operating system. Optionally, specify a build name and version; this
208
+ # metadata is stored with other properties in the build record and is
209
+ # displayed in the GameLift console (it is not visible to players). If
210
+ # successful, this action returns the newly created build record along
211
+ # with the Amazon S3 storage location and AWS account credentials. Use
212
+ # the location and credentials to upload your game build.
213
+ #
214
+ #
215
+ #
216
+ # [1]: http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html
217
+ # @option params [String] :name
218
+ # Descriptive label associated with a build. Build names do not need to
219
+ # be unique. A build name can be changed later using` UpdateBuild `.
220
+ # @option params [String] :version
221
+ # Version associated with this build. Version strings do not need to be
222
+ # unique to a build. A build version can be changed later using`
223
+ # UpdateBuild `.
224
+ # @option params [Types::S3Location] :storage_location
225
+ # Location in Amazon Simple Storage Service (Amazon S3) where a build's
226
+ # files are stored. This location is assigned in response to a
227
+ # CreateBuild call, and is always in the same region as the service used
228
+ # to create the build. For more details see the [Amazon S3
229
+ # documentation][1].
230
+ #
231
+ #
232
+ #
233
+ # [1]: http://aws.amazon.com/documentation/s3/
234
+ # @option params [String] :operating_system
235
+ # Operating system that the game server binaries are built to run on.
236
+ # This value determines the type of fleet resources that you can use for
237
+ # this build.
238
+ # @return [Types::CreateBuildOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
239
+ #
240
+ # * {Types::CreateBuildOutput#build #Build} => Types::Build
241
+ # * {Types::CreateBuildOutput#upload_credentials #UploadCredentials} => Types::AwsCredentials
242
+ # * {Types::CreateBuildOutput#storage_location #StorageLocation} => Types::S3Location
243
+ #
244
+ # @example Request syntax with placeholder values
245
+ # resp = client.create_build({
246
+ # name: "NonZeroAndMaxString",
247
+ # version: "NonZeroAndMaxString",
248
+ # storage_location: {
249
+ # bucket: "NonEmptyString",
250
+ # key: "NonEmptyString",
251
+ # role_arn: "NonEmptyString",
252
+ # },
253
+ # operating_system: "WINDOWS_2012", # accepts WINDOWS_2012, AMAZON_LINUX
254
+ # })
255
+ #
256
+ # @example Response structure
257
+ # resp.build.build_id #=> String
258
+ # resp.build.name #=> String
259
+ # resp.build.version #=> String
260
+ # resp.build.status #=> String, one of "INITIALIZED", "READY", "FAILED"
261
+ # resp.build.size_on_disk #=> Integer
262
+ # resp.build.operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
263
+ # resp.build.creation_time #=> Time
264
+ # resp.upload_credentials.access_key_id #=> String
265
+ # resp.upload_credentials.secret_access_key #=> String
266
+ # resp.upload_credentials.session_token #=> String
267
+ # resp.storage_location.bucket #=> String
268
+ # resp.storage_location.key #=> String
269
+ # resp.storage_location.role_arn #=> String
270
+ # @overload create_build(params = {})
271
+ # @param [Hash] params ({})
272
+ def create_build(params = {}, options = {})
273
+ req = build_request(:create_build, params)
274
+ req.send_request(options)
275
+ end
276
+
277
+ # Creates a new fleet to run your game servers. A fleet is a set of
278
+ # Amazon Elastic Compute Cloud (Amazon EC2) instances, each of which can
279
+ # run multiple server processes to host game sessions. You configure a
280
+ # fleet to create instances with certain hardware specifications (see
281
+ # [Amazon EC2 Instance Types][1] for more information), and deploy a
282
+ # specified game build to each instance. A newly created fleet passes
283
+ # through several statuses; once it reaches the `ACTIVE` status, it can
284
+ # begin hosting game sessions.
285
+ #
286
+ # To create a new fleet, provide a fleet name, an EC2 instance type, and
287
+ # a build ID of the game build to deploy. You can also configure the new
288
+ # fleet with the following settings: (1) a runtime configuration
289
+ # describing what server processes to run on each instance in the fleet
290
+ # (required to create fleet), (2) access permissions for inbound
291
+ # traffic, (3) fleet-wide game session protection, and (4) the location
292
+ # of default log files for GameLift to upload and store.
293
+ #
294
+ # If the `CreateFleet` call is successful, Amazon GameLift performs the
295
+ # following tasks:
296
+ #
297
+ # * Creates a fleet record and sets the status to `NEW` (followed by
298
+ # other statuses as the fleet is activated).
299
+ #
300
+ # * Sets the fleet's capacity to 1 "desired", which causes GameLift
301
+ # to start one new EC2 instance.
302
+ #
303
+ # * Starts launching server processes on the instance. If the fleet is
304
+ # configured to run multiple server processes per instance, GameLift
305
+ # staggers each launch by a few seconds.
306
+ #
307
+ # * Begins writing events to the fleet event log, which can be accessed
308
+ # in the GameLift console.
309
+ #
310
+ # * Sets the fleet's status to `ACTIVE` once one server process in the
311
+ # fleet is ready to host a game session.
312
+ #
313
+ # After a fleet is created, use the following actions to change fleet
314
+ # properties and configuration:
315
+ #
316
+ # * UpdateFleetAttributes -- Update fleet metadata, including name and
317
+ # description.
318
+ #
319
+ # * UpdateFleetCapacity -- Increase or decrease the number of instances
320
+ # you want the fleet to maintain.
321
+ #
322
+ # * UpdateFleetPortSettings -- Change the IP address and port ranges
323
+ # that allow access to incoming traffic.
324
+ #
325
+ # * UpdateRuntimeConfiguration -- Change how server processes are
326
+ # launched in the fleet, including launch path, launch parameters, and
327
+ # the number of concurrent processes.
328
+ #
329
+ #
330
+ #
331
+ # [1]: http://aws.amazon.com/ec2/instance-types/
332
+ # @option params [required, String] :name
333
+ # Descriptive label associated with a fleet. Fleet names do not need to
334
+ # be unique.
335
+ # @option params [String] :description
336
+ # Human-readable description of a fleet.
337
+ # @option params [required, String] :build_id
338
+ # Unique identifier of the build to be deployed on the new fleet. The
339
+ # build must have been successfully uploaded to GameLift and be in a
340
+ # `READY` status. This fleet setting cannot be changed once the fleet is
341
+ # created.
342
+ # @option params [String] :server_launch_path
343
+ # This parameter is no longer used. Instead, specify a server launch
344
+ # path using the `RuntimeConfiguration` parameter. (Requests that
345
+ # specify a server launch path and launch parameters instead of a
346
+ # runtime configuration will continue to work.)
347
+ # @option params [String] :server_launch_parameters
348
+ # This parameter is no longer used. Instead, specify server launch
349
+ # parameters in the `RuntimeConfiguration` parameter. (Requests that
350
+ # specify a server launch path and launch parameters instead of a
351
+ # runtime configuration will continue to work.)
352
+ # @option params [Array<String>] :log_paths
353
+ # Location of default log files. When a server process is shut down,
354
+ # Amazon GameLift captures and stores any log files in this location.
355
+ # These logs are in addition to game session logs; see more on game
356
+ # session logs in the [Amazon GameLift Developer Guide][1]. If no
357
+ # default log path for a fleet is specified, GameLift will automatically
358
+ # upload logs stored on each instance at `C:\game\logs` (for Windows) or
359
+ # `/local/game/logs` (for Linux). Use the GameLift console to access
360
+ # stored logs.
361
+ #
362
+ #
363
+ #
364
+ # [1]: http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-api-server-code
365
+ # @option params [required, String] :ec2_instance_type
366
+ # Name of an EC2 instance type that is supported in Amazon GameLift. A
367
+ # fleet instance type determines the computing resources of each
368
+ # instance in the fleet, including CPU, memory, storage, and networking
369
+ # capacity. GameLift supports the following EC2 instance types. See
370
+ # [Amazon EC2 Instance Types][1] for detailed descriptions.
371
+ #
372
+ #
373
+ #
374
+ # [1]: http://aws.amazon.com/ec2/instance-types/
375
+ # @option params [Array<Types::IpPermission>] :ec2_inbound_permissions
376
+ # Range of IP addresses and port settings that permit inbound traffic to
377
+ # access server processes running on the fleet. If no inbound
378
+ # permissions are set, including both IP address range and port range,
379
+ # the server processes in the fleet cannot accept connections. You can
380
+ # specify one or more sets of permissions for a fleet.
381
+ # @option params [String] :new_game_session_protection_policy
382
+ # Game session protection policy to apply to all instances in this
383
+ # fleet. If this parameter is not set, instances in this fleet default
384
+ # to no protection. You can change a fleet's protection policy using
385
+ # UpdateFleetAttributes, but this change will only affect sessions
386
+ # created after the policy change. You can also set protection for
387
+ # individual instances using UpdateGameSession.
388
+ #
389
+ # * **NoProtection** – The game session can be terminated during a
390
+ # scale-down event.
391
+ #
392
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
393
+ # it cannot be terminated during a scale-down event.
394
+ # @option params [Types::RuntimeConfiguration] :runtime_configuration
395
+ # Instructions for launching server processes on each instance in the
396
+ # fleet. The runtime configuration for a fleet has a collection of
397
+ # server process configurations, one for each type of server process to
398
+ # run on an instance. A server process configuration specifies the
399
+ # location of the server executable, launch parameters, and the number
400
+ # of concurrent processes with that configuration to maintain on each
401
+ # instance. A `CreateFleet` request must include a runtime configuration
402
+ # with at least one server process configuration; otherwise the request
403
+ # will fail with an invalid request exception. (This parameter replaces
404
+ # the parameters `ServerLaunchPath` and `ServerLaunchParameters`;
405
+ # requests that contain values for these parameters instead of a runtime
406
+ # configuration will continue to work.)
407
+ # @option params [Types::ResourceCreationLimitPolicy] :resource_creation_limit_policy
408
+ # Policy that limits the number of game sessions an individual player
409
+ # can create over a span of time for this fleet.
410
+ # @return [Types::CreateFleetOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
411
+ #
412
+ # * {Types::CreateFleetOutput#fleet_attributes #FleetAttributes} => Types::FleetAttributes
413
+ #
414
+ # @example Request syntax with placeholder values
415
+ # resp = client.create_fleet({
416
+ # name: "NonZeroAndMaxString", # required
417
+ # description: "NonZeroAndMaxString",
418
+ # build_id: "BuildId", # required
419
+ # server_launch_path: "NonZeroAndMaxString",
420
+ # server_launch_parameters: "NonZeroAndMaxString",
421
+ # log_paths: ["NonZeroAndMaxString"],
422
+ # 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
423
+ # ec2_inbound_permissions: [
424
+ # {
425
+ # from_port: 1, # required
426
+ # to_port: 1, # required
427
+ # ip_range: "NonBlankString", # required
428
+ # protocol: "TCP", # required, accepts TCP, UDP
429
+ # },
430
+ # ],
431
+ # new_game_session_protection_policy: "NoProtection", # accepts NoProtection, FullProtection
432
+ # runtime_configuration: {
433
+ # server_processes: [
434
+ # {
435
+ # launch_path: "NonZeroAndMaxString", # required
436
+ # parameters: "NonZeroAndMaxString",
437
+ # concurrent_executions: 1, # required
438
+ # },
439
+ # ],
440
+ # },
441
+ # resource_creation_limit_policy: {
442
+ # new_game_sessions_per_creator: 1,
443
+ # policy_period_in_minutes: 1,
444
+ # },
445
+ # })
446
+ #
447
+ # @example Response structure
448
+ # resp.fleet_attributes.fleet_id #=> String
449
+ # resp.fleet_attributes.description #=> String
450
+ # resp.fleet_attributes.name #=> String
451
+ # resp.fleet_attributes.creation_time #=> Time
452
+ # resp.fleet_attributes.termination_time #=> Time
453
+ # resp.fleet_attributes.status #=> String, one of "NEW", "DOWNLOADING", "VALIDATING", "BUILDING", "ACTIVATING", "ACTIVE", "DELETING", "ERROR", "TERMINATED"
454
+ # resp.fleet_attributes.build_id #=> String
455
+ # resp.fleet_attributes.server_launch_path #=> String
456
+ # resp.fleet_attributes.server_launch_parameters #=> String
457
+ # resp.fleet_attributes.log_paths #=> Array
458
+ # resp.fleet_attributes.log_paths[0] #=> String
459
+ # resp.fleet_attributes.new_game_session_protection_policy #=> String, one of "NoProtection", "FullProtection"
460
+ # resp.fleet_attributes.operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
461
+ # resp.fleet_attributes.resource_creation_limit_policy.new_game_sessions_per_creator #=> Integer
462
+ # resp.fleet_attributes.resource_creation_limit_policy.policy_period_in_minutes #=> Integer
463
+ # @overload create_fleet(params = {})
464
+ # @param [Hash] params ({})
465
+ def create_fleet(params = {}, options = {})
466
+ req = build_request(:create_fleet, params)
467
+ req.send_request(options)
468
+ end
469
+
470
+ # Creates a multiplayer game session for players. This action creates a
471
+ # game session record and assigns an available server process in the
472
+ # specified fleet to host the game session. A fleet must be in an
473
+ # `ACTIVE` status before a game session can be created in it.
474
+ #
475
+ # To create a game session, specify either fleet ID or alias ID, and
476
+ # indicate a maximum number of players to allow in the game session. You
477
+ # can also provide a name and game-specific properties for this game
478
+ # session. If successful, a GameSession object is returned containing
479
+ # session properties, including an IP address. By default, newly created
480
+ # game sessions allow new players to join. Use UpdateGameSession to
481
+ # change the game sessions player session creation policy.
482
+ #
483
+ # When creating a game session on a fleet with a resource limit creation
484
+ # policy, the request should include a creator ID. If none is provided,
485
+ # GameLift does not evaluate the fleet's resource limit creation
486
+ # policy.
487
+ # @option params [String] :fleet_id
488
+ # Unique identifier for a fleet. Each request must reference either a
489
+ # fleet ID or alias ID, but not both.
490
+ # @option params [String] :alias_id
491
+ # Unique identifier for a fleet alias. Each request must reference
492
+ # either a fleet ID or alias ID, but not both.
493
+ # @option params [required, Integer] :maximum_player_session_count
494
+ # Maximum number of players that can be connected simultaneously to the
495
+ # game session.
496
+ # @option params [String] :name
497
+ # Descriptive label associated with a game session. Session names do not
498
+ # need to be unique.
499
+ # @option params [Array<Types::GameProperty>] :game_properties
500
+ # Set of properties used to administer a game session. These properties
501
+ # are passed to the server process hosting it.
502
+ # @option params [String] :creator_id
503
+ # Player ID identifying the person or entity creating the game session.
504
+ # This ID is used to enforce a resource protection policy (if one
505
+ # exists) that limits the number of concurrent active game sessions one
506
+ # player can have.
507
+ # @option params [String] :game_session_id
508
+ # Custom string to include in the game session ID, with a maximum length
509
+ # of 48 characters. If this parameter is set, GameLift creates a game
510
+ # session ID in the following format:
511
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
512
+ # ID&gt;/&lt;custom ID string&gt;". For example, this full game session
513
+ # ID:
514
+ # "arn:aws:gamelift:us-west-2::gamesession/fleet-2ec2aae5-c2c7-43ca-b19d-8249fe5fddf2/my-game-session"
515
+ # includes the custom ID string "my-game-session". If this parameter
516
+ # is not set, GameLift creates a game session ID in the same format with
517
+ # an autogenerated ID string.
518
+ # @return [Types::CreateGameSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
519
+ #
520
+ # * {Types::CreateGameSessionOutput#game_session #GameSession} => Types::GameSession
521
+ #
522
+ # @example Request syntax with placeholder values
523
+ # resp = client.create_game_session({
524
+ # fleet_id: "FleetId",
525
+ # alias_id: "AliasId",
526
+ # maximum_player_session_count: 1, # required
527
+ # name: "NonZeroAndMaxString",
528
+ # game_properties: [
529
+ # {
530
+ # key: "GamePropertyKey", # required
531
+ # value: "GamePropertyValue", # required
532
+ # },
533
+ # ],
534
+ # creator_id: "NonZeroAndMaxString",
535
+ # game_session_id: "IdStringModel",
536
+ # })
537
+ #
538
+ # @example Response structure
539
+ # resp.game_session.game_session_id #=> String
540
+ # resp.game_session.name #=> String
541
+ # resp.game_session.fleet_id #=> String
542
+ # resp.game_session.creation_time #=> Time
543
+ # resp.game_session.termination_time #=> Time
544
+ # resp.game_session.current_player_session_count #=> Integer
545
+ # resp.game_session.maximum_player_session_count #=> Integer
546
+ # resp.game_session.status #=> String, one of "ACTIVE", "ACTIVATING", "TERMINATED", "TERMINATING", "ERROR"
547
+ # resp.game_session.game_properties #=> Array
548
+ # resp.game_session.game_properties[0].key #=> String
549
+ # resp.game_session.game_properties[0].value #=> String
550
+ # resp.game_session.ip_address #=> String
551
+ # resp.game_session.port #=> Integer
552
+ # resp.game_session.player_session_creation_policy #=> String, one of "ACCEPT_ALL", "DENY_ALL"
553
+ # resp.game_session.creator_id #=> String
554
+ # @overload create_game_session(params = {})
555
+ # @param [Hash] params ({})
556
+ def create_game_session(params = {}, options = {})
557
+ req = build_request(:create_game_session, params)
558
+ req.send_request(options)
559
+ end
560
+
561
+ # Adds a player to a game session and creates a player session record. A
562
+ # game session must be in an `ACTIVE` status, have a creation policy of
563
+ # `ALLOW_ALL`, and have an open player slot before players can be added
564
+ # to the session.
565
+ #
566
+ # To create a player session, specify a game session ID and player ID.
567
+ # If successful, the player is added to the game session and a new
568
+ # PlayerSession object is returned.
569
+ # @option params [required, String] :game_session_id
570
+ # Unique identifier for the game session to add a player to. Game
571
+ # session ID format is as follows:
572
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
573
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either a
574
+ # custom ID string (if one was specified when the game session was
575
+ # created) an autogenerated string.
576
+ # @option params [required, String] :player_id
577
+ # Unique identifier for the player to be added.
578
+ # @return [Types::CreatePlayerSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
579
+ #
580
+ # * {Types::CreatePlayerSessionOutput#player_session #PlayerSession} => Types::PlayerSession
581
+ #
582
+ # @example Request syntax with placeholder values
583
+ # resp = client.create_player_session({
584
+ # game_session_id: "ArnStringModel", # required
585
+ # player_id: "NonZeroAndMaxString", # required
586
+ # })
587
+ #
588
+ # @example Response structure
589
+ # resp.player_session.player_session_id #=> String
590
+ # resp.player_session.player_id #=> String
591
+ # resp.player_session.game_session_id #=> String
592
+ # resp.player_session.fleet_id #=> String
593
+ # resp.player_session.creation_time #=> Time
594
+ # resp.player_session.termination_time #=> Time
595
+ # resp.player_session.status #=> String, one of "RESERVED", "ACTIVE", "COMPLETED", "TIMEDOUT"
596
+ # resp.player_session.ip_address #=> String
597
+ # resp.player_session.port #=> Integer
598
+ # @overload create_player_session(params = {})
599
+ # @param [Hash] params ({})
600
+ def create_player_session(params = {}, options = {})
601
+ req = build_request(:create_player_session, params)
602
+ req.send_request(options)
603
+ end
604
+
605
+ # Adds a group of players to a game session. Similar to
606
+ # CreatePlayerSession, this action allows you to add multiple players in
607
+ # a single call, which is useful for games that provide party and/or
608
+ # matchmaking features. A game session must be in an `ACTIVE` status,
609
+ # have a creation policy of `ALLOW_ALL`, and have an open player slot
610
+ # before players can be added to the session.
611
+ #
612
+ # To create player sessions, specify a game session ID and a list of
613
+ # player IDs. If successful, the players are added to the game session
614
+ # and a set of new PlayerSession objects is returned.
615
+ # @option params [required, String] :game_session_id
616
+ # Unique identifier for the game session to add players to. Game session
617
+ # ID format is as follows:
618
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
619
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either a
620
+ # custom ID string (if one was specified when the game session was
621
+ # created) an autogenerated string.
622
+ # @option params [required, Array<String>] :player_ids
623
+ # List of unique identifiers for the players to be added.
624
+ # @return [Types::CreatePlayerSessionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
625
+ #
626
+ # * {Types::CreatePlayerSessionsOutput#player_sessions #PlayerSessions} => Array&lt;Types::PlayerSession&gt;
627
+ #
628
+ # @example Request syntax with placeholder values
629
+ # resp = client.create_player_sessions({
630
+ # game_session_id: "ArnStringModel", # required
631
+ # player_ids: ["NonZeroAndMaxString"], # required
632
+ # })
633
+ #
634
+ # @example Response structure
635
+ # resp.player_sessions #=> Array
636
+ # resp.player_sessions[0].player_session_id #=> String
637
+ # resp.player_sessions[0].player_id #=> String
638
+ # resp.player_sessions[0].game_session_id #=> String
639
+ # resp.player_sessions[0].fleet_id #=> String
640
+ # resp.player_sessions[0].creation_time #=> Time
641
+ # resp.player_sessions[0].termination_time #=> Time
642
+ # resp.player_sessions[0].status #=> String, one of "RESERVED", "ACTIVE", "COMPLETED", "TIMEDOUT"
643
+ # resp.player_sessions[0].ip_address #=> String
644
+ # resp.player_sessions[0].port #=> Integer
645
+ # @overload create_player_sessions(params = {})
646
+ # @param [Hash] params ({})
647
+ def create_player_sessions(params = {}, options = {})
648
+ req = build_request(:create_player_sessions, params)
649
+ req.send_request(options)
650
+ end
651
+
652
+ # Deletes an alias. This action removes all record of the alias; game
653
+ # clients attempting to access a server process using the deleted alias
654
+ # receive an error. To delete an alias, specify the alias ID to be
655
+ # deleted.
656
+ # @option params [required, String] :alias_id
657
+ # Unique identifier for a fleet alias. Specify the alias you want to
658
+ # delete.
659
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
660
+ #
661
+ # @example Request syntax with placeholder values
662
+ # resp = client.delete_alias({
663
+ # alias_id: "AliasId", # required
664
+ # })
665
+ # @overload delete_alias(params = {})
666
+ # @param [Hash] params ({})
667
+ def delete_alias(params = {}, options = {})
668
+ req = build_request(:delete_alias, params)
669
+ req.send_request(options)
670
+ end
671
+
672
+ # Deletes a build. This action permanently deletes the build record and
673
+ # any uploaded build files.
674
+ #
675
+ # To delete a build, specify its ID. Deleting a build does not affect
676
+ # the status of any active fleets using the build, but you can no longer
677
+ # create new fleets with the deleted build.
678
+ # @option params [required, String] :build_id
679
+ # Unique identifier for the build you want to delete.
680
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
681
+ #
682
+ # @example Request syntax with placeholder values
683
+ # resp = client.delete_build({
684
+ # build_id: "BuildId", # required
685
+ # })
686
+ # @overload delete_build(params = {})
687
+ # @param [Hash] params ({})
688
+ def delete_build(params = {}, options = {})
689
+ req = build_request(:delete_build, params)
690
+ req.send_request(options)
691
+ end
692
+
693
+ # Deletes everything related to a fleet. Before deleting a fleet, you
694
+ # must set the fleet's desired capacity to zero. See
695
+ # UpdateFleetCapacity.
696
+ #
697
+ # This action removes the fleet's resources and the fleet record. Once
698
+ # a fleet is deleted, you can no longer use that fleet.
699
+ # @option params [required, String] :fleet_id
700
+ # Unique identifier for the fleet you want to delete.
701
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
702
+ #
703
+ # @example Request syntax with placeholder values
704
+ # resp = client.delete_fleet({
705
+ # fleet_id: "FleetId", # required
706
+ # })
707
+ # @overload delete_fleet(params = {})
708
+ # @param [Hash] params ({})
709
+ def delete_fleet(params = {}, options = {})
710
+ req = build_request(:delete_fleet, params)
711
+ req.send_request(options)
712
+ end
713
+
714
+ # Deletes a fleet scaling policy. This action means that the policy is
715
+ # no longer in force and removes all record of it. To delete a scaling
716
+ # policy, specify both the scaling policy name and the fleet ID it is
717
+ # associated with.
718
+ # @option params [required, String] :name
719
+ # Descriptive label associated with a scaling policy. Policy names do
720
+ # not need to be unique.
721
+ # @option params [required, String] :fleet_id
722
+ # Unique identifier for a fleet.
723
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
724
+ #
725
+ # @example Request syntax with placeholder values
726
+ # resp = client.delete_scaling_policy({
727
+ # name: "NonZeroAndMaxString", # required
728
+ # fleet_id: "FleetId", # required
729
+ # })
730
+ # @overload delete_scaling_policy(params = {})
731
+ # @param [Hash] params ({})
732
+ def delete_scaling_policy(params = {}, options = {})
733
+ req = build_request(:delete_scaling_policy, params)
734
+ req.send_request(options)
735
+ end
736
+
737
+ # Retrieves properties for a specified alias. To get the alias, specify
738
+ # an alias ID. If successful, an Alias object is returned.
739
+ # @option params [required, String] :alias_id
740
+ # Unique identifier for a fleet alias. Specify the alias you want to
741
+ # retrieve.
742
+ # @return [Types::DescribeAliasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
743
+ #
744
+ # * {Types::DescribeAliasOutput#alias #Alias} => Types::Alias
745
+ #
746
+ # @example Request syntax with placeholder values
747
+ # resp = client.describe_alias({
748
+ # alias_id: "AliasId", # required
749
+ # })
750
+ #
751
+ # @example Response structure
752
+ # resp.alias.alias_id #=> String
753
+ # resp.alias.name #=> String
754
+ # resp.alias.description #=> String
755
+ # resp.alias.routing_strategy.type #=> String, one of "SIMPLE", "TERMINAL"
756
+ # resp.alias.routing_strategy.fleet_id #=> String
757
+ # resp.alias.routing_strategy.message #=> String
758
+ # resp.alias.creation_time #=> Time
759
+ # resp.alias.last_updated_time #=> Time
760
+ # @overload describe_alias(params = {})
761
+ # @param [Hash] params ({})
762
+ def describe_alias(params = {}, options = {})
763
+ req = build_request(:describe_alias, params)
764
+ req.send_request(options)
765
+ end
766
+
767
+ # Retrieves properties for a build. To get a build record, specify a
768
+ # build ID. If successful, an object containing the build properties is
769
+ # returned.
770
+ # @option params [required, String] :build_id
771
+ # Unique identifier of the build that you want to retrieve properties
772
+ # for.
773
+ # @return [Types::DescribeBuildOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
774
+ #
775
+ # * {Types::DescribeBuildOutput#build #Build} => Types::Build
776
+ #
777
+ # @example Request syntax with placeholder values
778
+ # resp = client.describe_build({
779
+ # build_id: "BuildId", # required
780
+ # })
781
+ #
782
+ # @example Response structure
783
+ # resp.build.build_id #=> String
784
+ # resp.build.name #=> String
785
+ # resp.build.version #=> String
786
+ # resp.build.status #=> String, one of "INITIALIZED", "READY", "FAILED"
787
+ # resp.build.size_on_disk #=> Integer
788
+ # resp.build.operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
789
+ # resp.build.creation_time #=> Time
790
+ # @overload describe_build(params = {})
791
+ # @param [Hash] params ({})
792
+ def describe_build(params = {}, options = {})
793
+ req = build_request(:describe_build, params)
794
+ req.send_request(options)
795
+ end
796
+
797
+ # Retrieves the following information for the specified EC2 instance
798
+ # type:
799
+ #
800
+ # * maximum number of instances allowed per AWS account (service limit)
801
+ #
802
+ # * current usage level for the AWS account
803
+ #
804
+ # Service limits vary depending on region. Available regions for
805
+ # GameLift can be found in the AWS Management Console for GameLift (see
806
+ # the drop-down list in the upper right corner).
807
+ # @option params [String] :ec2_instance_type
808
+ # Name of an EC2 instance type that is supported in Amazon GameLift. A
809
+ # fleet instance type determines the computing resources of each
810
+ # instance in the fleet, including CPU, memory, storage, and networking
811
+ # capacity. GameLift supports the following EC2 instance types. See
812
+ # [Amazon EC2 Instance Types][1] for detailed descriptions. Leave this
813
+ # parameter blank to retrieve limits for all types.
814
+ #
815
+ #
816
+ #
817
+ # [1]: http://aws.amazon.com/ec2/instance-types/
818
+ # @return [Types::DescribeEC2InstanceLimitsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
819
+ #
820
+ # * {Types::DescribeEC2InstanceLimitsOutput#ec2_instance_limits #EC2InstanceLimits} => Array&lt;Types::EC2InstanceLimit&gt;
821
+ #
822
+ # @example Request syntax with placeholder values
823
+ # resp = client.describe_ec2_instance_limits({
824
+ # 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
825
+ # })
826
+ #
827
+ # @example Response structure
828
+ # resp.ec2_instance_limits #=> Array
829
+ # resp.ec2_instance_limits[0].ec2_instance_type #=> String, one of "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"
830
+ # resp.ec2_instance_limits[0].current_instances #=> Integer
831
+ # resp.ec2_instance_limits[0].instance_limit #=> Integer
832
+ # @overload describe_ec2_instance_limits(params = {})
833
+ # @param [Hash] params ({})
834
+ def describe_ec2_instance_limits(params = {}, options = {})
835
+ req = build_request(:describe_ec2_instance_limits, params)
836
+ req.send_request(options)
837
+ end
838
+
839
+ # Retrieves fleet properties, including metadata, status, and
840
+ # configuration, for one or more fleets. You can request attributes for
841
+ # all fleets, or specify a list of one or more fleet IDs. When
842
+ # requesting multiple fleets, use the pagination parameters to retrieve
843
+ # results as a set of sequential pages. If successful, a FleetAttributes
844
+ # object is returned for each requested fleet ID. When specifying a list
845
+ # of fleet IDs, attribute objects are returned only for fleets that
846
+ # currently exist.
847
+ #
848
+ # <note markdown="1"> Some API actions may limit the number of fleet IDs allowed in one
849
+ # request. If a request exceeds this limit, the request fails and the
850
+ # error message includes the maximum allowed.
851
+ #
852
+ # </note>
853
+ # @option params [Array<String>] :fleet_ids
854
+ # Unique identifiers for the fleet(s) that you want to retrieve
855
+ # attributes for. To request attributes for all fleets, leave this
856
+ # parameter empty.
857
+ # @option params [Integer] :limit
858
+ # Maximum number of results to return. Use this parameter with
859
+ # `NextToken` to get results as a set of sequential pages. This
860
+ # parameter is ignored when the request specifies one or a list of fleet
861
+ # IDs.
862
+ # @option params [String] :next_token
863
+ # Token indicating the start of the next sequential page of results. Use
864
+ # the token that is returned with a previous call to this action. To
865
+ # specify the start of the result set, do not specify a value. This
866
+ # parameter is ignored when the request specifies one or a list of fleet
867
+ # IDs.
868
+ # @return [Types::DescribeFleetAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
869
+ #
870
+ # * {Types::DescribeFleetAttributesOutput#fleet_attributes #FleetAttributes} => Array&lt;Types::FleetAttributes&gt;
871
+ # * {Types::DescribeFleetAttributesOutput#next_token #NextToken} => String
872
+ #
873
+ # @example Request syntax with placeholder values
874
+ # resp = client.describe_fleet_attributes({
875
+ # fleet_ids: ["FleetId"],
876
+ # limit: 1,
877
+ # next_token: "NonZeroAndMaxString",
878
+ # })
879
+ #
880
+ # @example Response structure
881
+ # resp.fleet_attributes #=> Array
882
+ # resp.fleet_attributes[0].fleet_id #=> String
883
+ # resp.fleet_attributes[0].description #=> String
884
+ # resp.fleet_attributes[0].name #=> String
885
+ # resp.fleet_attributes[0].creation_time #=> Time
886
+ # resp.fleet_attributes[0].termination_time #=> Time
887
+ # resp.fleet_attributes[0].status #=> String, one of "NEW", "DOWNLOADING", "VALIDATING", "BUILDING", "ACTIVATING", "ACTIVE", "DELETING", "ERROR", "TERMINATED"
888
+ # resp.fleet_attributes[0].build_id #=> String
889
+ # resp.fleet_attributes[0].server_launch_path #=> String
890
+ # resp.fleet_attributes[0].server_launch_parameters #=> String
891
+ # resp.fleet_attributes[0].log_paths #=> Array
892
+ # resp.fleet_attributes[0].log_paths[0] #=> String
893
+ # resp.fleet_attributes[0].new_game_session_protection_policy #=> String, one of "NoProtection", "FullProtection"
894
+ # resp.fleet_attributes[0].operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
895
+ # resp.fleet_attributes[0].resource_creation_limit_policy.new_game_sessions_per_creator #=> Integer
896
+ # resp.fleet_attributes[0].resource_creation_limit_policy.policy_period_in_minutes #=> Integer
897
+ # resp.next_token #=> String
898
+ # @overload describe_fleet_attributes(params = {})
899
+ # @param [Hash] params ({})
900
+ def describe_fleet_attributes(params = {}, options = {})
901
+ req = build_request(:describe_fleet_attributes, params)
902
+ req.send_request(options)
903
+ end
904
+
905
+ # Retrieves the current status of fleet capacity for one or more fleets.
906
+ # This information includes the number of instances that have been
907
+ # requested for the fleet and the number currently active. You can
908
+ # request capacity for all fleets, or specify a list of one or more
909
+ # fleet IDs. When requesting multiple fleets, use the pagination
910
+ # parameters to retrieve results as a set of sequential pages. If
911
+ # successful, a FleetCapacity object is returned for each requested
912
+ # fleet ID. When specifying a list of fleet IDs, attribute objects are
913
+ # returned only for fleets that currently exist.
914
+ #
915
+ # <note markdown="1"> Some API actions may limit the number of fleet IDs allowed in one
916
+ # request. If a request exceeds this limit, the request fails and the
917
+ # error message includes the maximum allowed.
918
+ #
919
+ # </note>
920
+ # @option params [Array<String>] :fleet_ids
921
+ # Unique identifier for the fleet(s) you want to retrieve capacity
922
+ # information for. To request capacity information for all fleets, leave
923
+ # this parameter empty.
924
+ # @option params [Integer] :limit
925
+ # Maximum number of results to return. Use this parameter with
926
+ # `NextToken` to get results as a set of sequential pages. This
927
+ # parameter is ignored when the request specifies one or a list of fleet
928
+ # IDs.
929
+ # @option params [String] :next_token
930
+ # Token indicating the start of the next sequential page of results. Use
931
+ # the token that is returned with a previous call to this action. To
932
+ # specify the start of the result set, do not specify a value. This
933
+ # parameter is ignored when the request specifies one or a list of fleet
934
+ # IDs.
935
+ # @return [Types::DescribeFleetCapacityOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
936
+ #
937
+ # * {Types::DescribeFleetCapacityOutput#fleet_capacity #FleetCapacity} => Array&lt;Types::FleetCapacity&gt;
938
+ # * {Types::DescribeFleetCapacityOutput#next_token #NextToken} => String
939
+ #
940
+ # @example Request syntax with placeholder values
941
+ # resp = client.describe_fleet_capacity({
942
+ # fleet_ids: ["FleetId"],
943
+ # limit: 1,
944
+ # next_token: "NonZeroAndMaxString",
945
+ # })
946
+ #
947
+ # @example Response structure
948
+ # resp.fleet_capacity #=> Array
949
+ # resp.fleet_capacity[0].fleet_id #=> String
950
+ # resp.fleet_capacity[0].instance_type #=> String, one of "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"
951
+ # resp.fleet_capacity[0].instance_counts.desired #=> Integer
952
+ # resp.fleet_capacity[0].instance_counts.minimum #=> Integer
953
+ # resp.fleet_capacity[0].instance_counts.maximum #=> Integer
954
+ # resp.fleet_capacity[0].instance_counts.pending #=> Integer
955
+ # resp.fleet_capacity[0].instance_counts.active #=> Integer
956
+ # resp.fleet_capacity[0].instance_counts.idle #=> Integer
957
+ # resp.fleet_capacity[0].instance_counts.terminating #=> Integer
958
+ # resp.next_token #=> String
959
+ # @overload describe_fleet_capacity(params = {})
960
+ # @param [Hash] params ({})
961
+ def describe_fleet_capacity(params = {}, options = {})
962
+ req = build_request(:describe_fleet_capacity, params)
963
+ req.send_request(options)
964
+ end
965
+
966
+ # Retrieves entries from the specified fleet's event log. You can
967
+ # specify a time range to limit the result set. Use the pagination
968
+ # parameters to retrieve results as a set of sequential pages. If
969
+ # successful, a collection of event log entries matching the request are
970
+ # returned.
971
+ # @option params [required, String] :fleet_id
972
+ # Unique identifier for the fleet to get event logs for.
973
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
974
+ # Earliest date to retrieve event logs for. If no start time is
975
+ # specified, this call returns entries starting from when the fleet was
976
+ # created to the specified end time. Format is a number expressed in
977
+ # Unix time as milliseconds (ex: "1469498468.057").
978
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
979
+ # Most recent date to retrieve event logs for. If no end time is
980
+ # specified, this call returns entries from the specified start time up
981
+ # to the present. Format is a number expressed in Unix time as
982
+ # milliseconds (ex: "1469498468.057").
983
+ # @option params [Integer] :limit
984
+ # Maximum number of results to return. Use this parameter with
985
+ # `NextToken` to get results as a set of sequential pages.
986
+ # @option params [String] :next_token
987
+ # Token indicating the start of the next sequential page of results. Use
988
+ # the token that is returned with a previous call to this action. To
989
+ # specify the start of the result set, do not specify a value.
990
+ # @return [Types::DescribeFleetEventsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
991
+ #
992
+ # * {Types::DescribeFleetEventsOutput#events #Events} => Array&lt;Types::Event&gt;
993
+ # * {Types::DescribeFleetEventsOutput#next_token #NextToken} => String
994
+ #
995
+ # @example Request syntax with placeholder values
996
+ # resp = client.describe_fleet_events({
997
+ # fleet_id: "FleetId", # required
998
+ # start_time: Time.now,
999
+ # end_time: Time.now,
1000
+ # limit: 1,
1001
+ # next_token: "NonZeroAndMaxString",
1002
+ # })
1003
+ #
1004
+ # @example Response structure
1005
+ # resp.events #=> Array
1006
+ # resp.events[0].event_id #=> String
1007
+ # resp.events[0].resource_id #=> String
1008
+ # resp.events[0].event_code #=> String, one of "GENERIC_EVENT", "FLEET_CREATED", "FLEET_DELETED", "FLEET_SCALING_EVENT", "FLEET_STATE_DOWNLOADING", "FLEET_STATE_VALIDATING", "FLEET_STATE_BUILDING", "FLEET_STATE_ACTIVATING", "FLEET_STATE_ACTIVE", "FLEET_STATE_ERROR", "FLEET_INITIALIZATION_FAILED", "FLEET_BINARY_DOWNLOAD_FAILED", "FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND", "FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE", "FLEET_VALIDATION_TIMED_OUT", "FLEET_ACTIVATION_FAILED", "FLEET_ACTIVATION_FAILED_NO_INSTANCES", "FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED", "SERVER_PROCESS_INVALID_PATH", "SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT", "SERVER_PROCESS_PROCESS_READY_TIMEOUT", "SERVER_PROCESS_CRASHED", "SERVER_PROCESS_TERMINATED_UNHEALTHY", "SERVER_PROCESS_FORCE_TERMINATED", "SERVER_PROCESS_PROCESS_EXIT_TIMEOUT"
1009
+ # resp.events[0].message #=> String
1010
+ # resp.events[0].event_time #=> Time
1011
+ # resp.next_token #=> String
1012
+ # @overload describe_fleet_events(params = {})
1013
+ # @param [Hash] params ({})
1014
+ def describe_fleet_events(params = {}, options = {})
1015
+ req = build_request(:describe_fleet_events, params)
1016
+ req.send_request(options)
1017
+ end
1018
+
1019
+ # Retrieves the inbound connection permissions for a fleet. Connection
1020
+ # permissions include a range of IP addresses and port settings that
1021
+ # incoming traffic can use to access server processes in the fleet. To
1022
+ # get a fleet's inbound connection permissions, specify a fleet ID. If
1023
+ # successful, a collection of IpPermission objects is returned for the
1024
+ # requested fleet ID. If the requested fleet has been deleted, the
1025
+ # result set is empty.
1026
+ # @option params [required, String] :fleet_id
1027
+ # Unique identifier for the fleet you want to retrieve port settings
1028
+ # for.
1029
+ # @return [Types::DescribeFleetPortSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1030
+ #
1031
+ # * {Types::DescribeFleetPortSettingsOutput#inbound_permissions #InboundPermissions} => Array&lt;Types::IpPermission&gt;
1032
+ #
1033
+ # @example Request syntax with placeholder values
1034
+ # resp = client.describe_fleet_port_settings({
1035
+ # fleet_id: "FleetId", # required
1036
+ # })
1037
+ #
1038
+ # @example Response structure
1039
+ # resp.inbound_permissions #=> Array
1040
+ # resp.inbound_permissions[0].from_port #=> Integer
1041
+ # resp.inbound_permissions[0].to_port #=> Integer
1042
+ # resp.inbound_permissions[0].ip_range #=> String
1043
+ # resp.inbound_permissions[0].protocol #=> String, one of "TCP", "UDP"
1044
+ # @overload describe_fleet_port_settings(params = {})
1045
+ # @param [Hash] params ({})
1046
+ def describe_fleet_port_settings(params = {}, options = {})
1047
+ req = build_request(:describe_fleet_port_settings, params)
1048
+ req.send_request(options)
1049
+ end
1050
+
1051
+ # Retrieves utilization statistics for one or more fleets. You can
1052
+ # request utilization data for all fleets, or specify a list of one or
1053
+ # more fleet IDs. When requesting multiple fleets, use the pagination
1054
+ # parameters to retrieve results as a set of sequential pages. If
1055
+ # successful, a FleetUtilization object is returned for each requested
1056
+ # fleet ID. When specifying a list of fleet IDs, utilization objects are
1057
+ # returned only for fleets that currently exist.
1058
+ #
1059
+ # <note markdown="1"> Some API actions may limit the number of fleet IDs allowed in one
1060
+ # request. If a request exceeds this limit, the request fails and the
1061
+ # error message includes the maximum allowed.
1062
+ #
1063
+ # </note>
1064
+ # @option params [Array<String>] :fleet_ids
1065
+ # Unique identifier for the fleet(s) you want to retrieve utilization
1066
+ # data for. To request utilization data for all fleets, leave this
1067
+ # parameter empty.
1068
+ # @option params [Integer] :limit
1069
+ # Maximum number of results to return. Use this parameter with
1070
+ # `NextToken` to get results as a set of sequential pages. This
1071
+ # parameter is ignored when the request specifies one or a list of fleet
1072
+ # IDs.
1073
+ # @option params [String] :next_token
1074
+ # Token indicating the start of the next sequential page of results. Use
1075
+ # the token that is returned with a previous call to this action. To
1076
+ # specify the start of the result set, do not specify a value. This
1077
+ # parameter is ignored when the request specifies one or a list of fleet
1078
+ # IDs.
1079
+ # @return [Types::DescribeFleetUtilizationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1080
+ #
1081
+ # * {Types::DescribeFleetUtilizationOutput#fleet_utilization #FleetUtilization} => Array&lt;Types::FleetUtilization&gt;
1082
+ # * {Types::DescribeFleetUtilizationOutput#next_token #NextToken} => String
1083
+ #
1084
+ # @example Request syntax with placeholder values
1085
+ # resp = client.describe_fleet_utilization({
1086
+ # fleet_ids: ["FleetId"],
1087
+ # limit: 1,
1088
+ # next_token: "NonZeroAndMaxString",
1089
+ # })
1090
+ #
1091
+ # @example Response structure
1092
+ # resp.fleet_utilization #=> Array
1093
+ # resp.fleet_utilization[0].fleet_id #=> String
1094
+ # resp.fleet_utilization[0].active_server_process_count #=> Integer
1095
+ # resp.fleet_utilization[0].active_game_session_count #=> Integer
1096
+ # resp.fleet_utilization[0].current_player_session_count #=> Integer
1097
+ # resp.fleet_utilization[0].maximum_player_session_count #=> Integer
1098
+ # resp.next_token #=> String
1099
+ # @overload describe_fleet_utilization(params = {})
1100
+ # @param [Hash] params ({})
1101
+ def describe_fleet_utilization(params = {}, options = {})
1102
+ req = build_request(:describe_fleet_utilization, params)
1103
+ req.send_request(options)
1104
+ end
1105
+
1106
+ # Retrieves properties, including the protection policy in force, for
1107
+ # one or more game sessions. This action can be used in several ways:
1108
+ # (1) provide a `GameSessionId` to request details for a specific game
1109
+ # session; (2) provide either a `FleetId` or an `AliasId` to request
1110
+ # properties for all game sessions running on a fleet.
1111
+ #
1112
+ # To get game session record(s), specify just one of the following: game
1113
+ # session ID, fleet ID, or alias ID. You can filter this request by game
1114
+ # session status. Use the pagination parameters to retrieve results as a
1115
+ # set of sequential pages. If successful, a GameSessionDetail object is
1116
+ # returned for each session matching the request.
1117
+ # @option params [String] :fleet_id
1118
+ # Unique identifier for a fleet. Specify a fleet to retrieve information
1119
+ # on all game sessions active on the fleet.
1120
+ # @option params [String] :game_session_id
1121
+ # Unique identifier for the game session to retrieve information on.
1122
+ # Game session ID format is as follows:
1123
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1124
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either a
1125
+ # custom ID string (if one was specified when the game session was
1126
+ # created) an autogenerated string.
1127
+ # @option params [String] :alias_id
1128
+ # Unique identifier for a fleet alias. Specify an alias to retrieve
1129
+ # information on all game sessions active on the fleet.
1130
+ # @option params [String] :status_filter
1131
+ # Game session status to filter results on. Possible game session
1132
+ # statuses include ACTIVE, `TERMINATED`, `ACTIVATING` and `TERMINATING`
1133
+ # (the last two are transitory).
1134
+ # @option params [Integer] :limit
1135
+ # Maximum number of results to return. Use this parameter with
1136
+ # `NextToken` to get results as a set of sequential pages.
1137
+ # @option params [String] :next_token
1138
+ # Token indicating the start of the next sequential page of results. Use
1139
+ # the token that is returned with a previous call to this action. To
1140
+ # specify the start of the result set, do not specify a value.
1141
+ # @return [Types::DescribeGameSessionDetailsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1142
+ #
1143
+ # * {Types::DescribeGameSessionDetailsOutput#game_session_details #GameSessionDetails} => Array&lt;Types::GameSessionDetail&gt;
1144
+ # * {Types::DescribeGameSessionDetailsOutput#next_token #NextToken} => String
1145
+ #
1146
+ # @example Request syntax with placeholder values
1147
+ # resp = client.describe_game_session_details({
1148
+ # fleet_id: "FleetId",
1149
+ # game_session_id: "ArnStringModel",
1150
+ # alias_id: "AliasId",
1151
+ # status_filter: "NonZeroAndMaxString",
1152
+ # limit: 1,
1153
+ # next_token: "NonZeroAndMaxString",
1154
+ # })
1155
+ #
1156
+ # @example Response structure
1157
+ # resp.game_session_details #=> Array
1158
+ # resp.game_session_details[0].game_session.game_session_id #=> String
1159
+ # resp.game_session_details[0].game_session.name #=> String
1160
+ # resp.game_session_details[0].game_session.fleet_id #=> String
1161
+ # resp.game_session_details[0].game_session.creation_time #=> Time
1162
+ # resp.game_session_details[0].game_session.termination_time #=> Time
1163
+ # resp.game_session_details[0].game_session.current_player_session_count #=> Integer
1164
+ # resp.game_session_details[0].game_session.maximum_player_session_count #=> Integer
1165
+ # resp.game_session_details[0].game_session.status #=> String, one of "ACTIVE", "ACTIVATING", "TERMINATED", "TERMINATING", "ERROR"
1166
+ # resp.game_session_details[0].game_session.game_properties #=> Array
1167
+ # resp.game_session_details[0].game_session.game_properties[0].key #=> String
1168
+ # resp.game_session_details[0].game_session.game_properties[0].value #=> String
1169
+ # resp.game_session_details[0].game_session.ip_address #=> String
1170
+ # resp.game_session_details[0].game_session.port #=> Integer
1171
+ # resp.game_session_details[0].game_session.player_session_creation_policy #=> String, one of "ACCEPT_ALL", "DENY_ALL"
1172
+ # resp.game_session_details[0].game_session.creator_id #=> String
1173
+ # resp.game_session_details[0].protection_policy #=> String, one of "NoProtection", "FullProtection"
1174
+ # resp.next_token #=> String
1175
+ # @overload describe_game_session_details(params = {})
1176
+ # @param [Hash] params ({})
1177
+ def describe_game_session_details(params = {}, options = {})
1178
+ req = build_request(:describe_game_session_details, params)
1179
+ req.send_request(options)
1180
+ end
1181
+
1182
+ # Retrieves a set of one or more game sessions and properties. This
1183
+ # action can be used in several ways: (1) provide a `GameSessionId` to
1184
+ # request properties for a specific game session; (2) provide a
1185
+ # `FleetId` or an `AliasId` to request properties for all game sessions
1186
+ # running on a fleet. You can also use SearchGameSessions, which allows
1187
+ # you to retrieve all game sessions or filter on certain criteria, but
1188
+ # only returns game sessions with a status of ACTIVE. If you need to
1189
+ # retrieve the protection policy for each game session, use
1190
+ # DescribeGameSessionDetails.
1191
+ #
1192
+ # To get game session record(s), specify just one of the following: game
1193
+ # session ID, fleet ID, or alias ID. You can filter this request by game
1194
+ # session status. Use the pagination parameters to retrieve results as a
1195
+ # set of sequential pages. If successful, a GameSession object is
1196
+ # returned for each session matching the request.
1197
+ # @option params [String] :fleet_id
1198
+ # Unique identifier for a fleet. Specify a fleet to retrieve information
1199
+ # on all game sessions active on the fleet.
1200
+ # @option params [String] :game_session_id
1201
+ # Unique identifier for the game session to retrieve information on.
1202
+ # Game session ID format is as follows:
1203
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1204
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either a
1205
+ # custom ID string (if one was specified when the game session was
1206
+ # created) an autogenerated string.
1207
+ # @option params [String] :alias_id
1208
+ # Unique identifier for a fleet alias. Specify an alias to retrieve
1209
+ # information on all game sessions active on the fleet.
1210
+ # @option params [String] :status_filter
1211
+ # Game session status to filter results on. Possible game session
1212
+ # statuses include `ACTIVE`, `TERMINATED`, `ACTIVATING`, and
1213
+ # `TERMINATING` (the last two are transitory).
1214
+ # @option params [Integer] :limit
1215
+ # Maximum number of results to return. Use this parameter with
1216
+ # `NextToken` to get results as a set of sequential pages.
1217
+ # @option params [String] :next_token
1218
+ # Token indicating the start of the next sequential page of results. Use
1219
+ # the token that is returned with a previous call to this action. To
1220
+ # specify the start of the result set, do not specify a value.
1221
+ # @return [Types::DescribeGameSessionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1222
+ #
1223
+ # * {Types::DescribeGameSessionsOutput#game_sessions #GameSessions} => Array&lt;Types::GameSession&gt;
1224
+ # * {Types::DescribeGameSessionsOutput#next_token #NextToken} => String
1225
+ #
1226
+ # @example Request syntax with placeholder values
1227
+ # resp = client.describe_game_sessions({
1228
+ # fleet_id: "FleetId",
1229
+ # game_session_id: "ArnStringModel",
1230
+ # alias_id: "AliasId",
1231
+ # status_filter: "NonZeroAndMaxString",
1232
+ # limit: 1,
1233
+ # next_token: "NonZeroAndMaxString",
1234
+ # })
1235
+ #
1236
+ # @example Response structure
1237
+ # resp.game_sessions #=> Array
1238
+ # resp.game_sessions[0].game_session_id #=> String
1239
+ # resp.game_sessions[0].name #=> String
1240
+ # resp.game_sessions[0].fleet_id #=> String
1241
+ # resp.game_sessions[0].creation_time #=> Time
1242
+ # resp.game_sessions[0].termination_time #=> Time
1243
+ # resp.game_sessions[0].current_player_session_count #=> Integer
1244
+ # resp.game_sessions[0].maximum_player_session_count #=> Integer
1245
+ # resp.game_sessions[0].status #=> String, one of "ACTIVE", "ACTIVATING", "TERMINATED", "TERMINATING", "ERROR"
1246
+ # resp.game_sessions[0].game_properties #=> Array
1247
+ # resp.game_sessions[0].game_properties[0].key #=> String
1248
+ # resp.game_sessions[0].game_properties[0].value #=> String
1249
+ # resp.game_sessions[0].ip_address #=> String
1250
+ # resp.game_sessions[0].port #=> Integer
1251
+ # resp.game_sessions[0].player_session_creation_policy #=> String, one of "ACCEPT_ALL", "DENY_ALL"
1252
+ # resp.game_sessions[0].creator_id #=> String
1253
+ # resp.next_token #=> String
1254
+ # @overload describe_game_sessions(params = {})
1255
+ # @param [Hash] params ({})
1256
+ def describe_game_sessions(params = {}, options = {})
1257
+ req = build_request(:describe_game_sessions, params)
1258
+ req.send_request(options)
1259
+ end
1260
+
1261
+ # Retrieves information about a fleet's instances, including instance
1262
+ # IDs. Use this action to get details on all instances in the fleet or
1263
+ # get details on one specific instance.
1264
+ #
1265
+ # To get a specific instance, specify fleet ID and instance ID. To get
1266
+ # all instances in a fleet, specify a fleet ID only. Use the pagination
1267
+ # parameters to retrieve results as a set of sequential pages. If
1268
+ # successful, an Instance object is returned for each result.
1269
+ # @option params [required, String] :fleet_id
1270
+ # Unique identifier for a fleet. Specify the fleet to retrieve instance
1271
+ # information for.
1272
+ # @option params [String] :instance_id
1273
+ # Unique identifier for an instance. Specify an instance to retrieve
1274
+ # information for or leave blank to get information on all instances in
1275
+ # the fleet.
1276
+ # @option params [Integer] :limit
1277
+ # Maximum number of results to return. Use this parameter with
1278
+ # `NextToken` to get results as a set of sequential pages.
1279
+ # @option params [String] :next_token
1280
+ # Token indicating the start of the next sequential page of results. Use
1281
+ # the token that is returned with a previous call to this action. To
1282
+ # specify the start of the result set, do not specify a value.
1283
+ # @return [Types::DescribeInstancesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1284
+ #
1285
+ # * {Types::DescribeInstancesOutput#instances #Instances} => Array&lt;Types::Instance&gt;
1286
+ # * {Types::DescribeInstancesOutput#next_token #NextToken} => String
1287
+ #
1288
+ # @example Request syntax with placeholder values
1289
+ # resp = client.describe_instances({
1290
+ # fleet_id: "FleetId", # required
1291
+ # instance_id: "InstanceId",
1292
+ # limit: 1,
1293
+ # next_token: "NonZeroAndMaxString",
1294
+ # })
1295
+ #
1296
+ # @example Response structure
1297
+ # resp.instances #=> Array
1298
+ # resp.instances[0].fleet_id #=> String
1299
+ # resp.instances[0].instance_id #=> String
1300
+ # resp.instances[0].ip_address #=> String
1301
+ # resp.instances[0].operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
1302
+ # resp.instances[0].type #=> String, one of "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"
1303
+ # resp.instances[0].status #=> String, one of "PENDING", "ACTIVE", "TERMINATING"
1304
+ # resp.instances[0].creation_time #=> Time
1305
+ # resp.next_token #=> String
1306
+ # @overload describe_instances(params = {})
1307
+ # @param [Hash] params ({})
1308
+ def describe_instances(params = {}, options = {})
1309
+ req = build_request(:describe_instances, params)
1310
+ req.send_request(options)
1311
+ end
1312
+
1313
+ # Retrieves properties for one or more player sessions. This action can
1314
+ # be used in several ways: (1) provide a `PlayerSessionId` parameter to
1315
+ # request properties for a specific player session; (2) provide a
1316
+ # `GameSessionId` parameter to request properties for all player
1317
+ # sessions in the specified game session; (3) provide a `PlayerId`
1318
+ # parameter to request properties for all player sessions of a specified
1319
+ # player.
1320
+ #
1321
+ # To get game session record(s), specify only one of the following: a
1322
+ # player session ID, a game session ID, or a player ID. You can filter
1323
+ # this request by player session status. Use the pagination parameters
1324
+ # to retrieve results as a set of sequential pages. If successful, a
1325
+ # PlayerSession object is returned for each session matching the
1326
+ # request.
1327
+ # @option params [String] :game_session_id
1328
+ # Unique identifier for the game session to get player sessions for.
1329
+ # Game session ID format is as follows:
1330
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1331
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either a
1332
+ # custom ID string (if one was specified when the game session was
1333
+ # created) an autogenerated string.
1334
+ # @option params [String] :player_id
1335
+ # Unique identifier for a player.
1336
+ # @option params [String] :player_session_id
1337
+ # Unique identifier for a player session.
1338
+ # @option params [String] :player_session_status_filter
1339
+ # Player session status to filter results on.
1340
+ #
1341
+ # Possible player session statuses include the following:
1342
+ #
1343
+ # * **RESERVED** – The player session request has been received, but the
1344
+ # player has not yet connected to the server process and/or been
1345
+ # validated.
1346
+ #
1347
+ # * **ACTIVE** – The player has been validated by the server process and
1348
+ # is currently connected.
1349
+ #
1350
+ # * **COMPLETED** – The player connection has been dropped.
1351
+ #
1352
+ # * **TIMEDOUT** – A player session request was received, but the player
1353
+ # did not connect and/or was not validated within the time-out limit
1354
+ # (60 seconds).
1355
+ # @option params [Integer] :limit
1356
+ # Maximum number of results to return. Use this parameter with
1357
+ # `NextToken` to get results as a set of sequential pages. If a player
1358
+ # session ID is specified, this parameter is ignored.
1359
+ # @option params [String] :next_token
1360
+ # Token indicating the start of the next sequential page of results. Use
1361
+ # the token that is returned with a previous call to this action. To
1362
+ # specify the start of the result set, do not specify a value. If a
1363
+ # player session ID is specified, this parameter is ignored.
1364
+ # @return [Types::DescribePlayerSessionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1365
+ #
1366
+ # * {Types::DescribePlayerSessionsOutput#player_sessions #PlayerSessions} => Array&lt;Types::PlayerSession&gt;
1367
+ # * {Types::DescribePlayerSessionsOutput#next_token #NextToken} => String
1368
+ #
1369
+ # @example Request syntax with placeholder values
1370
+ # resp = client.describe_player_sessions({
1371
+ # game_session_id: "ArnStringModel",
1372
+ # player_id: "NonZeroAndMaxString",
1373
+ # player_session_id: "PlayerSessionId",
1374
+ # player_session_status_filter: "NonZeroAndMaxString",
1375
+ # limit: 1,
1376
+ # next_token: "NonZeroAndMaxString",
1377
+ # })
1378
+ #
1379
+ # @example Response structure
1380
+ # resp.player_sessions #=> Array
1381
+ # resp.player_sessions[0].player_session_id #=> String
1382
+ # resp.player_sessions[0].player_id #=> String
1383
+ # resp.player_sessions[0].game_session_id #=> String
1384
+ # resp.player_sessions[0].fleet_id #=> String
1385
+ # resp.player_sessions[0].creation_time #=> Time
1386
+ # resp.player_sessions[0].termination_time #=> Time
1387
+ # resp.player_sessions[0].status #=> String, one of "RESERVED", "ACTIVE", "COMPLETED", "TIMEDOUT"
1388
+ # resp.player_sessions[0].ip_address #=> String
1389
+ # resp.player_sessions[0].port #=> Integer
1390
+ # resp.next_token #=> String
1391
+ # @overload describe_player_sessions(params = {})
1392
+ # @param [Hash] params ({})
1393
+ def describe_player_sessions(params = {}, options = {})
1394
+ req = build_request(:describe_player_sessions, params)
1395
+ req.send_request(options)
1396
+ end
1397
+
1398
+ # Retrieves the current runtime configuration for the specified fleet.
1399
+ # The runtime configuration tells GameLift how to launch server
1400
+ # processes on instances in the fleet.
1401
+ # @option params [required, String] :fleet_id
1402
+ # Unique identifier of the fleet to get the runtime configuration for.
1403
+ # @return [Types::DescribeRuntimeConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1404
+ #
1405
+ # * {Types::DescribeRuntimeConfigurationOutput#runtime_configuration #RuntimeConfiguration} => Types::RuntimeConfiguration
1406
+ #
1407
+ # @example Request syntax with placeholder values
1408
+ # resp = client.describe_runtime_configuration({
1409
+ # fleet_id: "FleetId", # required
1410
+ # })
1411
+ #
1412
+ # @example Response structure
1413
+ # resp.runtime_configuration.server_processes #=> Array
1414
+ # resp.runtime_configuration.server_processes[0].launch_path #=> String
1415
+ # resp.runtime_configuration.server_processes[0].parameters #=> String
1416
+ # resp.runtime_configuration.server_processes[0].concurrent_executions #=> Integer
1417
+ # @overload describe_runtime_configuration(params = {})
1418
+ # @param [Hash] params ({})
1419
+ def describe_runtime_configuration(params = {}, options = {})
1420
+ req = build_request(:describe_runtime_configuration, params)
1421
+ req.send_request(options)
1422
+ end
1423
+
1424
+ # Retrieves all scaling policies applied to a fleet.
1425
+ #
1426
+ # To get a fleet's scaling policies, specify the fleet ID. You can
1427
+ # filter this request by policy status, such as to retrieve only active
1428
+ # scaling policies. Use the pagination parameters to retrieve results as
1429
+ # a set of sequential pages. If successful, set of ScalingPolicy objects
1430
+ # is returned for the fleet.
1431
+ # @option params [required, String] :fleet_id
1432
+ # Unique identifier for a fleet. Specify the fleet to retrieve scaling
1433
+ # policies for.
1434
+ # @option params [String] :status_filter
1435
+ # Scaling policy status to filter results on. A scaling policy is only
1436
+ # in force when in an `ACTIVE` status.
1437
+ #
1438
+ # * **ACTIVE** – The scaling policy is currently in force.
1439
+ #
1440
+ # * **UPDATEREQUESTED** – A request to update the scaling policy has
1441
+ # been received.
1442
+ #
1443
+ # * **UPDATING** – A change is being made to the scaling policy.
1444
+ #
1445
+ # * **DELETEREQUESTED** – A request to delete the scaling policy has
1446
+ # been received.
1447
+ #
1448
+ # * **DELETING** – The scaling policy is being deleted.
1449
+ #
1450
+ # * **DELETED** – The scaling policy has been deleted.
1451
+ #
1452
+ # * **ERROR** – An error occurred in creating the policy. It should be
1453
+ # removed and recreated.
1454
+ # @option params [Integer] :limit
1455
+ # Maximum number of results to return. Use this parameter with
1456
+ # `NextToken` to get results as a set of sequential pages.
1457
+ # @option params [String] :next_token
1458
+ # Token indicating the start of the next sequential page of results. Use
1459
+ # the token that is returned with a previous call to this action. To
1460
+ # specify the start of the result set, do not specify a value.
1461
+ # @return [Types::DescribeScalingPoliciesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1462
+ #
1463
+ # * {Types::DescribeScalingPoliciesOutput#scaling_policies #ScalingPolicies} => Array&lt;Types::ScalingPolicy&gt;
1464
+ # * {Types::DescribeScalingPoliciesOutput#next_token #NextToken} => String
1465
+ #
1466
+ # @example Request syntax with placeholder values
1467
+ # resp = client.describe_scaling_policies({
1468
+ # fleet_id: "FleetId", # required
1469
+ # status_filter: "ACTIVE", # accepts ACTIVE, UPDATE_REQUESTED, UPDATING, DELETE_REQUESTED, DELETING, DELETED, ERROR
1470
+ # limit: 1,
1471
+ # next_token: "NonZeroAndMaxString",
1472
+ # })
1473
+ #
1474
+ # @example Response structure
1475
+ # resp.scaling_policies #=> Array
1476
+ # resp.scaling_policies[0].fleet_id #=> String
1477
+ # resp.scaling_policies[0].name #=> String
1478
+ # resp.scaling_policies[0].status #=> String, one of "ACTIVE", "UPDATE_REQUESTED", "UPDATING", "DELETE_REQUESTED", "DELETING", "DELETED", "ERROR"
1479
+ # resp.scaling_policies[0].scaling_adjustment #=> Integer
1480
+ # resp.scaling_policies[0].scaling_adjustment_type #=> String, one of "ChangeInCapacity", "ExactCapacity", "PercentChangeInCapacity"
1481
+ # resp.scaling_policies[0].comparison_operator #=> String, one of "GreaterThanOrEqualToThreshold", "GreaterThanThreshold", "LessThanThreshold", "LessThanOrEqualToThreshold"
1482
+ # resp.scaling_policies[0].threshold #=> Float
1483
+ # resp.scaling_policies[0].evaluation_periods #=> Integer
1484
+ # resp.scaling_policies[0].metric_name #=> String, one of "ActivatingGameSessions", "ActiveGameSessions", "ActiveInstances", "AvailablePlayerSessions", "CurrentPlayerSessions", "IdleInstances"
1485
+ # resp.next_token #=> String
1486
+ # @overload describe_scaling_policies(params = {})
1487
+ # @param [Hash] params ({})
1488
+ def describe_scaling_policies(params = {}, options = {})
1489
+ req = build_request(:describe_scaling_policies, params)
1490
+ req.send_request(options)
1491
+ end
1492
+
1493
+ # Retrieves the location of stored game session logs for a specified
1494
+ # game session. When a game session is terminated, Amazon GameLift
1495
+ # automatically stores the logs in Amazon S3. Use this URL to download
1496
+ # the logs.
1497
+ #
1498
+ # <note markdown="1"> See the [AWS Service Limits][1] page for maximum log file sizes. Log
1499
+ # files that exceed this limit are not saved.
1500
+ #
1501
+ # </note>
1502
+ #
1503
+ #
1504
+ #
1505
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift
1506
+ # @option params [required, String] :game_session_id
1507
+ # Unique identifier for the game session to get logs for. Game session
1508
+ # ID format is as follows:
1509
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
1510
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either a
1511
+ # custom ID string (if one was specified when the game session was
1512
+ # created) an autogenerated string.
1513
+ # @return [Types::GetGameSessionLogUrlOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1514
+ #
1515
+ # * {Types::GetGameSessionLogUrlOutput#pre_signed_url #PreSignedUrl} => String
1516
+ #
1517
+ # @example Request syntax with placeholder values
1518
+ # resp = client.get_game_session_log_url({
1519
+ # game_session_id: "ArnStringModel", # required
1520
+ # })
1521
+ #
1522
+ # @example Response structure
1523
+ # resp.pre_signed_url #=> String
1524
+ # @overload get_game_session_log_url(params = {})
1525
+ # @param [Hash] params ({})
1526
+ def get_game_session_log_url(params = {}, options = {})
1527
+ req = build_request(:get_game_session_log_url, params)
1528
+ req.send_request(options)
1529
+ end
1530
+
1531
+ # Requests remote access to a fleet instance. Remote access is useful
1532
+ # for debugging, gathering benchmarking data, or watching activity in
1533
+ # real time.
1534
+ #
1535
+ # Access requires credentials that match the operating system of the
1536
+ # instance. For a Windows instance, GameLift returns a username and
1537
+ # password as strings for use with a Windows Remote Desktop client. For
1538
+ # a Linux instance, GameLift returns a username and RSA private key,
1539
+ # also as strings, for use with an SSH client. The private key must be
1540
+ # saved in the proper format to a .pem file before using. If you're
1541
+ # making this request using the AWS CLI, saving the secret can be
1542
+ # handled as part of the GetInstanceAccess request (see the example
1543
+ # later in this topic). For more information on remote access, see
1544
+ # [Remotely Accessing an Instance][1].
1545
+ #
1546
+ # To request access to a specific instance, specify the IDs of the
1547
+ # instance and the fleet it belongs to. If successful, an InstanceAccess
1548
+ # object is returned containing the instance's IP address and a set of
1549
+ # credentials.
1550
+ #
1551
+ #
1552
+ #
1553
+ # [1]: http://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-remote-access.html
1554
+ # @option params [required, String] :fleet_id
1555
+ # Unique identifier for a fleet. Specify the fleet that contain the
1556
+ # instance you want access to. The fleet can be in any of the following
1557
+ # statuses: ACTIVATING, ACTIVE, or ERROR. Fleets with an ERROR status
1558
+ # can be accessed for a few hours before being deleted.
1559
+ # @option params [required, String] :instance_id
1560
+ # Unique identifier for an instance. Specify the instance you want to
1561
+ # get access to. You can access an instance in any status.
1562
+ # @return [Types::GetInstanceAccessOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1563
+ #
1564
+ # * {Types::GetInstanceAccessOutput#instance_access #InstanceAccess} => Types::InstanceAccess
1565
+ #
1566
+ # @example Request syntax with placeholder values
1567
+ # resp = client.get_instance_access({
1568
+ # fleet_id: "FleetId", # required
1569
+ # instance_id: "InstanceId", # required
1570
+ # })
1571
+ #
1572
+ # @example Response structure
1573
+ # resp.instance_access.fleet_id #=> String
1574
+ # resp.instance_access.instance_id #=> String
1575
+ # resp.instance_access.ip_address #=> String
1576
+ # resp.instance_access.operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
1577
+ # resp.instance_access.credentials.user_name #=> String
1578
+ # resp.instance_access.credentials.secret #=> String
1579
+ # @overload get_instance_access(params = {})
1580
+ # @param [Hash] params ({})
1581
+ def get_instance_access(params = {}, options = {})
1582
+ req = build_request(:get_instance_access, params)
1583
+ req.send_request(options)
1584
+ end
1585
+
1586
+ # Retrieves a collection of alias records for this AWS account. You can
1587
+ # filter the result set by alias name and/or routing strategy type. Use
1588
+ # the pagination parameters to retrieve results in sequential pages.
1589
+ #
1590
+ # <note markdown="1"> Aliases are not listed in any particular order.
1591
+ #
1592
+ # </note>
1593
+ # @option params [String] :routing_strategy_type
1594
+ # Type of routing to filter results on. Use this parameter to retrieve
1595
+ # only aliases of a certain type. To retrieve all aliases, leave this
1596
+ # parameter empty.
1597
+ #
1598
+ # Possible routing types include the following:
1599
+ #
1600
+ # * **SIMPLE** – The alias resolves to one specific fleet. Use this type
1601
+ # when routing to active fleets.
1602
+ #
1603
+ # * **TERMINAL** – The alias does not resolve to a fleet but instead can
1604
+ # be used to display a message to the user. A terminal alias throws a
1605
+ # TerminalRoutingStrategyException with the RoutingStrategy message
1606
+ # embedded.
1607
+ # @option params [String] :name
1608
+ # Descriptive label associated with an alias. Alias names do not need to
1609
+ # be unique.
1610
+ # @option params [Integer] :limit
1611
+ # Maximum number of results to return. Use this parameter with
1612
+ # `NextToken` to get results as a set of sequential pages.
1613
+ # @option params [String] :next_token
1614
+ # Token indicating the start of the next sequential page of results. Use
1615
+ # the token that is returned with a previous call to this action. To
1616
+ # specify the start of the result set, do not specify a value.
1617
+ # @return [Types::ListAliasesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1618
+ #
1619
+ # * {Types::ListAliasesOutput#aliases #Aliases} => Array&lt;Types::Alias&gt;
1620
+ # * {Types::ListAliasesOutput#next_token #NextToken} => String
1621
+ #
1622
+ # @example Request syntax with placeholder values
1623
+ # resp = client.list_aliases({
1624
+ # routing_strategy_type: "SIMPLE", # accepts SIMPLE, TERMINAL
1625
+ # name: "NonEmptyString",
1626
+ # limit: 1,
1627
+ # next_token: "NonEmptyString",
1628
+ # })
1629
+ #
1630
+ # @example Response structure
1631
+ # resp.aliases #=> Array
1632
+ # resp.aliases[0].alias_id #=> String
1633
+ # resp.aliases[0].name #=> String
1634
+ # resp.aliases[0].description #=> String
1635
+ # resp.aliases[0].routing_strategy.type #=> String, one of "SIMPLE", "TERMINAL"
1636
+ # resp.aliases[0].routing_strategy.fleet_id #=> String
1637
+ # resp.aliases[0].routing_strategy.message #=> String
1638
+ # resp.aliases[0].creation_time #=> Time
1639
+ # resp.aliases[0].last_updated_time #=> Time
1640
+ # resp.next_token #=> String
1641
+ # @overload list_aliases(params = {})
1642
+ # @param [Hash] params ({})
1643
+ def list_aliases(params = {}, options = {})
1644
+ req = build_request(:list_aliases, params)
1645
+ req.send_request(options)
1646
+ end
1647
+
1648
+ # Retrieves build records for all builds associated with the AWS account
1649
+ # in use. You can limit results to builds that are in a specific status
1650
+ # by using the `Status` parameter. Use the pagination parameters to
1651
+ # retrieve results in a set of sequential pages.
1652
+ #
1653
+ # <note markdown="1"> Build records are not listed in any particular order.
1654
+ #
1655
+ # </note>
1656
+ # @option params [String] :status
1657
+ # Build status to filter results by. To retrieve all builds, leave this
1658
+ # parameter empty.
1659
+ #
1660
+ # Possible build statuses include the following:
1661
+ #
1662
+ # * **INITIALIZED** – A new build has been defined, but no files have
1663
+ # been uploaded. You cannot create fleets for builds that are in this
1664
+ # status. When a build is successfully created, the build status is
1665
+ # set to this value.
1666
+ #
1667
+ # * **READY** – The game build has been successfully uploaded. You can
1668
+ # now create new fleets for this build.
1669
+ #
1670
+ # * **FAILED** – The game build upload failed. You cannot create new
1671
+ # fleets for this build.
1672
+ # @option params [Integer] :limit
1673
+ # Maximum number of results to return. Use this parameter with
1674
+ # `NextToken` to get results as a set of sequential pages.
1675
+ # @option params [String] :next_token
1676
+ # Token indicating the start of the next sequential page of results. Use
1677
+ # the token that is returned with a previous call to this action. To
1678
+ # specify the start of the result set, do not specify a value.
1679
+ # @return [Types::ListBuildsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1680
+ #
1681
+ # * {Types::ListBuildsOutput#builds #Builds} => Array&lt;Types::Build&gt;
1682
+ # * {Types::ListBuildsOutput#next_token #NextToken} => String
1683
+ #
1684
+ # @example Request syntax with placeholder values
1685
+ # resp = client.list_builds({
1686
+ # status: "INITIALIZED", # accepts INITIALIZED, READY, FAILED
1687
+ # limit: 1,
1688
+ # next_token: "NonEmptyString",
1689
+ # })
1690
+ #
1691
+ # @example Response structure
1692
+ # resp.builds #=> Array
1693
+ # resp.builds[0].build_id #=> String
1694
+ # resp.builds[0].name #=> String
1695
+ # resp.builds[0].version #=> String
1696
+ # resp.builds[0].status #=> String, one of "INITIALIZED", "READY", "FAILED"
1697
+ # resp.builds[0].size_on_disk #=> Integer
1698
+ # resp.builds[0].operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
1699
+ # resp.builds[0].creation_time #=> Time
1700
+ # resp.next_token #=> String
1701
+ # @overload list_builds(params = {})
1702
+ # @param [Hash] params ({})
1703
+ def list_builds(params = {}, options = {})
1704
+ req = build_request(:list_builds, params)
1705
+ req.send_request(options)
1706
+ end
1707
+
1708
+ # Retrieves a collection of fleet records for this AWS account. You can
1709
+ # filter the result set by build ID. Use the pagination parameters to
1710
+ # retrieve results in sequential pages.
1711
+ #
1712
+ # <note markdown="1"> Fleet records are not listed in any particular order.
1713
+ #
1714
+ # </note>
1715
+ # @option params [String] :build_id
1716
+ # Unique identifier of the build to return fleets for. Use this
1717
+ # parameter to return only fleets using the specified build. To retrieve
1718
+ # all fleets, leave this parameter empty.
1719
+ # @option params [Integer] :limit
1720
+ # Maximum number of results to return. Use this parameter with
1721
+ # `NextToken` to get results as a set of sequential pages.
1722
+ # @option params [String] :next_token
1723
+ # Token indicating the start of the next sequential page of results. Use
1724
+ # the token that is returned with a previous call to this action. To
1725
+ # specify the start of the result set, do not specify a value.
1726
+ # @return [Types::ListFleetsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1727
+ #
1728
+ # * {Types::ListFleetsOutput#fleet_ids #FleetIds} => Array&lt;String&gt;
1729
+ # * {Types::ListFleetsOutput#next_token #NextToken} => String
1730
+ #
1731
+ # @example Request syntax with placeholder values
1732
+ # resp = client.list_fleets({
1733
+ # build_id: "BuildId",
1734
+ # limit: 1,
1735
+ # next_token: "NonZeroAndMaxString",
1736
+ # })
1737
+ #
1738
+ # @example Response structure
1739
+ # resp.fleet_ids #=> Array
1740
+ # resp.fleet_ids[0] #=> String
1741
+ # resp.next_token #=> String
1742
+ # @overload list_fleets(params = {})
1743
+ # @param [Hash] params ({})
1744
+ def list_fleets(params = {}, options = {})
1745
+ req = build_request(:list_fleets, params)
1746
+ req.send_request(options)
1747
+ end
1748
+
1749
+ # Creates or updates a scaling policy for a fleet. An active scaling
1750
+ # policy prompts Amazon GameLift to track a certain metric for a fleet
1751
+ # and automatically change the fleet's capacity in specific
1752
+ # circumstances. Each scaling policy contains one rule statement. Fleets
1753
+ # can have multiple scaling policies in force simultaneously.
1754
+ #
1755
+ # A scaling policy rule statement has the following structure:
1756
+ #
1757
+ # If `[MetricName]` is `[ComparisonOperator]` `[Threshold]` for
1758
+ # `[EvaluationPeriods]` minutes, then `[ScalingAdjustmentType]` to/by
1759
+ # `[ScalingAdjustment]`.
1760
+ #
1761
+ # For example, this policy: "If the number of idle instances exceeds 20
1762
+ # for more than 15 minutes, then reduce the fleet capacity by 10
1763
+ # instances" could be implemented as the following rule statement:
1764
+ #
1765
+ # If \[IdleInstances\] is \[GreaterThanOrEqualToThreshold\] \[20\] for
1766
+ # \[15\] minutes, then \[ChangeInCapacity\] by \[-10\].
1767
+ #
1768
+ # To create or update a scaling policy, specify a unique combination of
1769
+ # name and fleet ID, and set the rule values. All parameters for this
1770
+ # action are required. If successful, the policy name is returned.
1771
+ # Scaling policies cannot be suspended or made inactive. To stop
1772
+ # enforcing a scaling policy, call DeleteScalingPolicy.
1773
+ # @option params [required, String] :name
1774
+ # Descriptive label associated with a scaling policy. Policy names do
1775
+ # not need to be unique. A fleet can have only one scaling policy with
1776
+ # the same name.
1777
+ # @option params [required, String] :fleet_id
1778
+ # Unique identity for the fleet to scale with this policy.
1779
+ # @option params [required, Integer] :scaling_adjustment
1780
+ # Amount of adjustment to make, based on the scaling adjustment type.
1781
+ # @option params [required, String] :scaling_adjustment_type
1782
+ # Type of adjustment to make to a fleet's instance count (see
1783
+ # FleetCapacity):
1784
+ #
1785
+ # * **ChangeInCapacity** – add (or subtract) the scaling adjustment
1786
+ # value from the current instance count. Positive values scale up
1787
+ # while negative values scale down.
1788
+ #
1789
+ # * **ExactCapacity** – set the instance count to the scaling adjustment
1790
+ # value.
1791
+ #
1792
+ # * **PercentChangeInCapacity** – increase or reduce the current
1793
+ # instance count by the scaling adjustment, read as a percentage.
1794
+ # Positive values scale up while negative values scale down; for
1795
+ # example, a value of "-10" scales the fleet down by 10%.
1796
+ # @option params [required, Float] :threshold
1797
+ # Metric value used to trigger a scaling event.
1798
+ # @option params [required, String] :comparison_operator
1799
+ # Comparison operator to use when measuring the metric against the
1800
+ # threshold value.
1801
+ # @option params [required, Integer] :evaluation_periods
1802
+ # Length of time (in minutes) the metric must be at or beyond the
1803
+ # threshold before a scaling event is triggered.
1804
+ # @option params [required, String] :metric_name
1805
+ # Name of the Amazon GameLift-defined metric that is used to trigger an
1806
+ # adjustment.
1807
+ #
1808
+ # * **ActivatingGameSessions** – number of game sessions in the process
1809
+ # of being created (game session status = `ACTIVATING`).
1810
+ #
1811
+ # * **ActiveGameSessions** – number of game sessions currently running
1812
+ # (game session status = `ACTIVE`).
1813
+ #
1814
+ # * **CurrentPlayerSessions** – number of active or reserved player
1815
+ # sessions (player session status = `ACTIVE` or `RESERVED`).
1816
+ #
1817
+ # * **AvailablePlayerSessions** – number of player session slots
1818
+ # currently available in active game sessions across the fleet,
1819
+ # calculated by subtracting a game session's current player session
1820
+ # count from its maximum player session count. This number includes
1821
+ # game sessions that are not currently accepting players (game session
1822
+ # `PlayerSessionCreationPolicy` = `DENY_ALL`).
1823
+ #
1824
+ # * **ActiveInstances** – number of instances currently running a game
1825
+ # session.
1826
+ #
1827
+ # * **IdleInstances** – number of instances not currently running a game
1828
+ # session.
1829
+ # @return [Types::PutScalingPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1830
+ #
1831
+ # * {Types::PutScalingPolicyOutput#name #Name} => String
1832
+ #
1833
+ # @example Request syntax with placeholder values
1834
+ # resp = client.put_scaling_policy({
1835
+ # name: "NonZeroAndMaxString", # required
1836
+ # fleet_id: "FleetId", # required
1837
+ # scaling_adjustment: 1, # required
1838
+ # scaling_adjustment_type: "ChangeInCapacity", # required, accepts ChangeInCapacity, ExactCapacity, PercentChangeInCapacity
1839
+ # threshold: 1.0, # required
1840
+ # comparison_operator: "GreaterThanOrEqualToThreshold", # required, accepts GreaterThanOrEqualToThreshold, GreaterThanThreshold, LessThanThreshold, LessThanOrEqualToThreshold
1841
+ # evaluation_periods: 1, # required
1842
+ # metric_name: "ActivatingGameSessions", # required, accepts ActivatingGameSessions, ActiveGameSessions, ActiveInstances, AvailablePlayerSessions, CurrentPlayerSessions, IdleInstances
1843
+ # })
1844
+ #
1845
+ # @example Response structure
1846
+ # resp.name #=> String
1847
+ # @overload put_scaling_policy(params = {})
1848
+ # @param [Hash] params ({})
1849
+ def put_scaling_policy(params = {}, options = {})
1850
+ req = build_request(:put_scaling_policy, params)
1851
+ req.send_request(options)
1852
+ end
1853
+
1854
+ # Retrieves a fresh set of upload credentials and the assigned Amazon S3
1855
+ # storage location for a specific build. Valid credentials are required
1856
+ # to upload your game build files to Amazon S3.
1857
+ #
1858
+ # Call this action only if you need credentials for a build created
1859
+ # with` CreateBuild `. This is a rare situation; in most cases, builds
1860
+ # are created using the CLI command `upload-build`, which creates a
1861
+ # build record and also uploads build files.
1862
+ #
1863
+ # Upload credentials are returned when you create the build, but they
1864
+ # have a limited lifespan. You can get fresh credentials and use them to
1865
+ # re-upload game files until the status of that build changes to
1866
+ # `READY`. Once this happens, you must create a brand new build.
1867
+ # @option params [required, String] :build_id
1868
+ # Unique identifier for the build you want to get credentials for.
1869
+ # @return [Types::RequestUploadCredentialsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1870
+ #
1871
+ # * {Types::RequestUploadCredentialsOutput#upload_credentials #UploadCredentials} => Types::AwsCredentials
1872
+ # * {Types::RequestUploadCredentialsOutput#storage_location #StorageLocation} => Types::S3Location
1873
+ #
1874
+ # @example Request syntax with placeholder values
1875
+ # resp = client.request_upload_credentials({
1876
+ # build_id: "BuildId", # required
1877
+ # })
1878
+ #
1879
+ # @example Response structure
1880
+ # resp.upload_credentials.access_key_id #=> String
1881
+ # resp.upload_credentials.secret_access_key #=> String
1882
+ # resp.upload_credentials.session_token #=> String
1883
+ # resp.storage_location.bucket #=> String
1884
+ # resp.storage_location.key #=> String
1885
+ # resp.storage_location.role_arn #=> String
1886
+ # @overload request_upload_credentials(params = {})
1887
+ # @param [Hash] params ({})
1888
+ def request_upload_credentials(params = {}, options = {})
1889
+ req = build_request(:request_upload_credentials, params)
1890
+ req.send_request(options)
1891
+ end
1892
+
1893
+ # Retrieves the fleet ID that a specified alias is currently pointing
1894
+ # to.
1895
+ # @option params [required, String] :alias_id
1896
+ # Unique identifier for the alias you want to resolve.
1897
+ # @return [Types::ResolveAliasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1898
+ #
1899
+ # * {Types::ResolveAliasOutput#fleet_id #FleetId} => String
1900
+ #
1901
+ # @example Request syntax with placeholder values
1902
+ # resp = client.resolve_alias({
1903
+ # alias_id: "AliasId", # required
1904
+ # })
1905
+ #
1906
+ # @example Response structure
1907
+ # resp.fleet_id #=> String
1908
+ # @overload resolve_alias(params = {})
1909
+ # @param [Hash] params ({})
1910
+ def resolve_alias(params = {}, options = {})
1911
+ req = build_request(:resolve_alias, params)
1912
+ req.send_request(options)
1913
+ end
1914
+
1915
+ # Retrieves a set of game sessions that match a set of search criteria
1916
+ # and sorts them in a specified order. Currently a game session search
1917
+ # is limited to a single fleet. Search results include only game
1918
+ # sessions that are in ACTIVE status. If you need to retrieve game
1919
+ # sessions with a status other than active, use DescribeGameSessions. If
1920
+ # you need to retrieve the protection policy for each game session, use
1921
+ # DescribeGameSessionDetails.
1922
+ #
1923
+ # You can search or sort by the following game session attributes:
1924
+ #
1925
+ # * **gameSessionId** -- ID value assigned to a game session. This
1926
+ # unique value is returned in a GameSession object when a new game
1927
+ # session is created.
1928
+ #
1929
+ # * **gameSessionName** -- Name assigned to a game session. This value
1930
+ # is set when requesting a new game session with CreateGameSession or
1931
+ # updating with UpdateGameSession. Game session names do not need to
1932
+ # be unique to a game session.
1933
+ #
1934
+ # * **creationTimeMillis** -- Value indicating when a game session was
1935
+ # created. It is expressed in Unix time as milliseconds.
1936
+ #
1937
+ # * **playerSessionCount** -- Number of players currently connected to a
1938
+ # game session. This value changes rapidly as players join the session
1939
+ # or drop out.
1940
+ #
1941
+ # * **maximumSessions** -- Maximum number of player sessions allowed for
1942
+ # a game session. This value is set when requesting a new game session
1943
+ # with CreateGameSession or updating with UpdateGameSession.
1944
+ #
1945
+ # * **hasAvailablePlayerSessions** -- Boolean value indicating whether
1946
+ # or not a game session has reached its maximum number of players.
1947
+ # When searching with this attribute, the search value must be `true`
1948
+ # or `false`. It is highly recommended that all search requests
1949
+ # include this filter attribute to optimize search performance and
1950
+ # return only sessions that players can join.
1951
+ #
1952
+ # To search or sort, specify either a fleet ID or an alias ID, and
1953
+ # provide a search filter expression, a sort expression, or both. Use
1954
+ # the pagination parameters to retrieve results as a set of sequential
1955
+ # pages. If successful, a collection of GameSession objects matching the
1956
+ # request is returned.
1957
+ #
1958
+ # <note markdown="1"> Returned values for `playerSessionCount` and
1959
+ # `hasAvailablePlayerSessions` change quickly as players join sessions
1960
+ # and others drop out. Results should be considered a snapshot in time.
1961
+ # Be sure to refresh search results often, and handle sessions that fill
1962
+ # up before a player can join.
1963
+ #
1964
+ # </note>
1965
+ # @option params [String] :fleet_id
1966
+ # Unique identifier for a fleet. Each request must reference either a
1967
+ # fleet ID or alias ID, but not both.
1968
+ # @option params [String] :alias_id
1969
+ # Unique identifier for a fleet alias. Each request must reference
1970
+ # either a fleet ID or alias ID, but not both.
1971
+ # @option params [String] :filter_expression
1972
+ # String containing the search criteria for the session search. If no
1973
+ # filter expression is included, the request returns results for all
1974
+ # game sessions in the fleet that are in ACTIVE status.
1975
+ #
1976
+ # A filter expression can contain one or multiple conditions. Each
1977
+ # condition consists of the following:
1978
+ #
1979
+ # * **Operand** -- Name of a game session attribute. Valid values are
1980
+ # `gameSessionName`, `gameSessionId`, `creationTimeMillis`,
1981
+ # `playerSessionCount`, `maximumSessions`,
1982
+ # `hasAvailablePlayerSessions`.
1983
+ #
1984
+ # * **Comparator** -- Valid comparators are: `=`, `<>`, `<`, `>`, `<=`,
1985
+ # `>=`.
1986
+ #
1987
+ # * **Value** -- Value to be searched for. Values can be numbers,
1988
+ # boolean values (true/false) or strings. String values are case
1989
+ # sensitive, enclosed in single quotes. Special characters must be
1990
+ # escaped. Boolean and string values can only be used with the
1991
+ # comparators `=` and `<>`. For example, the following filter
1992
+ # expression searches on `gameSessionName`\: "`FilterExpression":
1993
+ # "gameSessionName = 'Matt\'s Awesome Game 1'"`.
1994
+ #
1995
+ # To chain multiple conditions in a single expression, use the logical
1996
+ # keywords `AND`, `OR`, and `NOT` and parentheses as needed. For
1997
+ # example: `x AND y AND NOT z`, `NOT (x OR y)`.
1998
+ #
1999
+ # Session search evaluates conditions from left to right using the
2000
+ # following precedence rules:
2001
+ #
2002
+ # 1. `=`, `<>`, `<`, `>`, `<=`, `>=`
2003
+ #
2004
+ # 2. Parentheses
2005
+ #
2006
+ # 3. NOT
2007
+ #
2008
+ # 4. AND
2009
+ #
2010
+ # 5. OR
2011
+ #
2012
+ # For example, this filter expression retrieves game sessions hosting at
2013
+ # least ten players that have an open player slot: `"maximumSessions>=10
2014
+ # AND hasAvailablePlayerSessions=true"`.
2015
+ # @option params [String] :sort_expression
2016
+ # Instructions on how to sort the search results. If no sort expression
2017
+ # is included, the request returns results in random order. A sort
2018
+ # expression consists of the following elements:
2019
+ #
2020
+ # * **Operand** -- Name of a game session attribute. Valid values are
2021
+ # `gameSessionName`, `gameSessionId`, `creationTimeMillis`,
2022
+ # `playerSessionCount`, `maximumSessions`,
2023
+ # `hasAvailablePlayerSessions`.
2024
+ #
2025
+ # * **Order** -- Valid sort orders are `ASC` (ascending) and `DESC`
2026
+ # (descending).
2027
+ #
2028
+ # For example, this sort expression returns the oldest active sessions
2029
+ # first: `"SortExpression": "creationTimeMillis ASC"`. Results with a
2030
+ # null value for the sort operand are returned at the end of the list.
2031
+ # @option params [Integer] :limit
2032
+ # Maximum number of results to return. Use this parameter with
2033
+ # `NextToken` to get results as a set of sequential pages. The maximum
2034
+ # number of results returned is 20, even if this value is not set or is
2035
+ # set higher than 20.
2036
+ # @option params [String] :next_token
2037
+ # Token indicating the start of the next sequential page of results. Use
2038
+ # the token that is returned with a previous call to this action. To
2039
+ # specify the start of the result set, do not specify a value.
2040
+ # @return [Types::SearchGameSessionsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2041
+ #
2042
+ # * {Types::SearchGameSessionsOutput#game_sessions #GameSessions} => Array&lt;Types::GameSession&gt;
2043
+ # * {Types::SearchGameSessionsOutput#next_token #NextToken} => String
2044
+ #
2045
+ # @example Request syntax with placeholder values
2046
+ # resp = client.search_game_sessions({
2047
+ # fleet_id: "FleetId",
2048
+ # alias_id: "AliasId",
2049
+ # filter_expression: "NonZeroAndMaxString",
2050
+ # sort_expression: "NonZeroAndMaxString",
2051
+ # limit: 1,
2052
+ # next_token: "NonZeroAndMaxString",
2053
+ # })
2054
+ #
2055
+ # @example Response structure
2056
+ # resp.game_sessions #=> Array
2057
+ # resp.game_sessions[0].game_session_id #=> String
2058
+ # resp.game_sessions[0].name #=> String
2059
+ # resp.game_sessions[0].fleet_id #=> String
2060
+ # resp.game_sessions[0].creation_time #=> Time
2061
+ # resp.game_sessions[0].termination_time #=> Time
2062
+ # resp.game_sessions[0].current_player_session_count #=> Integer
2063
+ # resp.game_sessions[0].maximum_player_session_count #=> Integer
2064
+ # resp.game_sessions[0].status #=> String, one of "ACTIVE", "ACTIVATING", "TERMINATED", "TERMINATING", "ERROR"
2065
+ # resp.game_sessions[0].game_properties #=> Array
2066
+ # resp.game_sessions[0].game_properties[0].key #=> String
2067
+ # resp.game_sessions[0].game_properties[0].value #=> String
2068
+ # resp.game_sessions[0].ip_address #=> String
2069
+ # resp.game_sessions[0].port #=> Integer
2070
+ # resp.game_sessions[0].player_session_creation_policy #=> String, one of "ACCEPT_ALL", "DENY_ALL"
2071
+ # resp.game_sessions[0].creator_id #=> String
2072
+ # resp.next_token #=> String
2073
+ # @overload search_game_sessions(params = {})
2074
+ # @param [Hash] params ({})
2075
+ def search_game_sessions(params = {}, options = {})
2076
+ req = build_request(:search_game_sessions, params)
2077
+ req.send_request(options)
2078
+ end
2079
+
2080
+ # Updates properties for an alias. To update properties, specify the
2081
+ # alias ID to be updated and provide the information to be changed. To
2082
+ # reassign an alias to another fleet, provide an updated routing
2083
+ # strategy. If successful, the updated alias record is returned.
2084
+ # @option params [required, String] :alias_id
2085
+ # Unique identifier for a fleet alias. Specify the alias you want to
2086
+ # update.
2087
+ # @option params [String] :name
2088
+ # Descriptive label associated with an alias. Alias names do not need to
2089
+ # be unique.
2090
+ # @option params [String] :description
2091
+ # Human-readable description of an alias.
2092
+ # @option params [Types::RoutingStrategy] :routing_strategy
2093
+ # Object specifying the fleet and routing type to use for the alias.
2094
+ # @return [Types::UpdateAliasOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2095
+ #
2096
+ # * {Types::UpdateAliasOutput#alias #Alias} => Types::Alias
2097
+ #
2098
+ # @example Request syntax with placeholder values
2099
+ # resp = client.update_alias({
2100
+ # alias_id: "AliasId", # required
2101
+ # name: "NonBlankAndLengthConstraintString",
2102
+ # description: "NonZeroAndMaxString",
2103
+ # routing_strategy: {
2104
+ # type: "SIMPLE", # accepts SIMPLE, TERMINAL
2105
+ # fleet_id: "FleetId",
2106
+ # message: "FreeText",
2107
+ # },
2108
+ # })
2109
+ #
2110
+ # @example Response structure
2111
+ # resp.alias.alias_id #=> String
2112
+ # resp.alias.name #=> String
2113
+ # resp.alias.description #=> String
2114
+ # resp.alias.routing_strategy.type #=> String, one of "SIMPLE", "TERMINAL"
2115
+ # resp.alias.routing_strategy.fleet_id #=> String
2116
+ # resp.alias.routing_strategy.message #=> String
2117
+ # resp.alias.creation_time #=> Time
2118
+ # resp.alias.last_updated_time #=> Time
2119
+ # @overload update_alias(params = {})
2120
+ # @param [Hash] params ({})
2121
+ def update_alias(params = {}, options = {})
2122
+ req = build_request(:update_alias, params)
2123
+ req.send_request(options)
2124
+ end
2125
+
2126
+ # Updates metadata in a build record, including the build name and
2127
+ # version. To update the metadata, specify the build ID to update and
2128
+ # provide the new values. If successful, a build object containing the
2129
+ # updated metadata is returned.
2130
+ # @option params [required, String] :build_id
2131
+ # Unique identifier of the build you want to update.
2132
+ # @option params [String] :name
2133
+ # Descriptive label associated with a build. Build names do not need to
2134
+ # be unique.
2135
+ # @option params [String] :version
2136
+ # Version associated with this build. Version strings do not need to be
2137
+ # unique to a build.
2138
+ # @return [Types::UpdateBuildOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2139
+ #
2140
+ # * {Types::UpdateBuildOutput#build #Build} => Types::Build
2141
+ #
2142
+ # @example Request syntax with placeholder values
2143
+ # resp = client.update_build({
2144
+ # build_id: "BuildId", # required
2145
+ # name: "NonZeroAndMaxString",
2146
+ # version: "NonZeroAndMaxString",
2147
+ # })
2148
+ #
2149
+ # @example Response structure
2150
+ # resp.build.build_id #=> String
2151
+ # resp.build.name #=> String
2152
+ # resp.build.version #=> String
2153
+ # resp.build.status #=> String, one of "INITIALIZED", "READY", "FAILED"
2154
+ # resp.build.size_on_disk #=> Integer
2155
+ # resp.build.operating_system #=> String, one of "WINDOWS_2012", "AMAZON_LINUX"
2156
+ # resp.build.creation_time #=> Time
2157
+ # @overload update_build(params = {})
2158
+ # @param [Hash] params ({})
2159
+ def update_build(params = {}, options = {})
2160
+ req = build_request(:update_build, params)
2161
+ req.send_request(options)
2162
+ end
2163
+
2164
+ # Updates fleet properties, including name and description, for a fleet.
2165
+ # To update metadata, specify the fleet ID and the property values you
2166
+ # want to change. If successful, the fleet ID for the updated fleet is
2167
+ # returned.
2168
+ # @option params [required, String] :fleet_id
2169
+ # Unique identifier for the fleet you want to update attribute metadata
2170
+ # for.
2171
+ # @option params [String] :name
2172
+ # Descriptive label associated with a fleet. Fleet names do not need to
2173
+ # be unique.
2174
+ # @option params [String] :description
2175
+ # Human-readable description of a fleet.
2176
+ # @option params [String] :new_game_session_protection_policy
2177
+ # Game session protection policy to apply to all new instances created
2178
+ # in this fleet. Instances that already exist are not affected. You can
2179
+ # set protection for individual instances using UpdateGameSession.
2180
+ #
2181
+ # * **NoProtection** – The game session can be terminated during a
2182
+ # scale-down event.
2183
+ #
2184
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
2185
+ # it cannot be terminated during a scale-down event.
2186
+ # @option params [Types::ResourceCreationLimitPolicy] :resource_creation_limit_policy
2187
+ # Policy that limits the number of game sessions an individual player
2188
+ # can create over a span of time.
2189
+ # @return [Types::UpdateFleetAttributesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2190
+ #
2191
+ # * {Types::UpdateFleetAttributesOutput#fleet_id #FleetId} => String
2192
+ #
2193
+ # @example Request syntax with placeholder values
2194
+ # resp = client.update_fleet_attributes({
2195
+ # fleet_id: "FleetId", # required
2196
+ # name: "NonZeroAndMaxString",
2197
+ # description: "NonZeroAndMaxString",
2198
+ # new_game_session_protection_policy: "NoProtection", # accepts NoProtection, FullProtection
2199
+ # resource_creation_limit_policy: {
2200
+ # new_game_sessions_per_creator: 1,
2201
+ # policy_period_in_minutes: 1,
2202
+ # },
2203
+ # })
2204
+ #
2205
+ # @example Response structure
2206
+ # resp.fleet_id #=> String
2207
+ # @overload update_fleet_attributes(params = {})
2208
+ # @param [Hash] params ({})
2209
+ def update_fleet_attributes(params = {}, options = {})
2210
+ req = build_request(:update_fleet_attributes, params)
2211
+ req.send_request(options)
2212
+ end
2213
+
2214
+ # Updates capacity settings for a fleet. Use this action to specify the
2215
+ # number of EC2 instances (hosts) that you want this fleet to contain.
2216
+ # Before calling this action, you may want to call
2217
+ # DescribeEC2InstanceLimits to get the maximum capacity based on the
2218
+ # fleet's EC2 instance type.
2219
+ #
2220
+ # If you're using autoscaling (see PutScalingPolicy), you may want to
2221
+ # specify a minimum and/or maximum capacity. If you don't provide
2222
+ # these, autoscaling can set capacity anywhere between zero and the
2223
+ # [service limits][1].
2224
+ #
2225
+ # To update fleet capacity, specify the fleet ID and the number of
2226
+ # instances you want the fleet to host. If successful, Amazon GameLift
2227
+ # starts or terminates instances so that the fleet's active instance
2228
+ # count matches the desired instance count. You can view a fleet's
2229
+ # current capacity information by calling DescribeFleetCapacity. If the
2230
+ # desired instance count is higher than the instance type's limit, the
2231
+ # "Limit Exceeded" exception occurs.
2232
+ #
2233
+ #
2234
+ #
2235
+ # [1]: http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift
2236
+ # @option params [required, String] :fleet_id
2237
+ # Unique identifier for the fleet you want to update capacity for.
2238
+ # @option params [Integer] :desired_instances
2239
+ # Number of EC2 instances you want this fleet to host.
2240
+ # @option params [Integer] :min_size
2241
+ # Minimum value allowed for the fleet's instance count. Default if not
2242
+ # set is 0.
2243
+ # @option params [Integer] :max_size
2244
+ # Maximum value allowed for the fleet's instance count. Default if not
2245
+ # set is 1.
2246
+ # @return [Types::UpdateFleetCapacityOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2247
+ #
2248
+ # * {Types::UpdateFleetCapacityOutput#fleet_id #FleetId} => String
2249
+ #
2250
+ # @example Request syntax with placeholder values
2251
+ # resp = client.update_fleet_capacity({
2252
+ # fleet_id: "FleetId", # required
2253
+ # desired_instances: 1,
2254
+ # min_size: 1,
2255
+ # max_size: 1,
2256
+ # })
2257
+ #
2258
+ # @example Response structure
2259
+ # resp.fleet_id #=> String
2260
+ # @overload update_fleet_capacity(params = {})
2261
+ # @param [Hash] params ({})
2262
+ def update_fleet_capacity(params = {}, options = {})
2263
+ req = build_request(:update_fleet_capacity, params)
2264
+ req.send_request(options)
2265
+ end
2266
+
2267
+ # Updates port settings for a fleet. To update settings, specify the
2268
+ # fleet ID to be updated and list the permissions you want to update.
2269
+ # List the permissions you want to add in
2270
+ # `InboundPermissionAuthorizations`, and permissions you want to remove
2271
+ # in `InboundPermissionRevocations`. Permissions to be removed must
2272
+ # match existing fleet permissions. If successful, the fleet ID for the
2273
+ # updated fleet is returned.
2274
+ # @option params [required, String] :fleet_id
2275
+ # Unique identifier for the fleet you want to update port settings for.
2276
+ # @option params [Array<Types::IpPermission>] :inbound_permission_authorizations
2277
+ # Collection of port settings to be added to the fleet record.
2278
+ # @option params [Array<Types::IpPermission>] :inbound_permission_revocations
2279
+ # Collection of port settings to be removed from the fleet record.
2280
+ # @return [Types::UpdateFleetPortSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2281
+ #
2282
+ # * {Types::UpdateFleetPortSettingsOutput#fleet_id #FleetId} => String
2283
+ #
2284
+ # @example Request syntax with placeholder values
2285
+ # resp = client.update_fleet_port_settings({
2286
+ # fleet_id: "FleetId", # required
2287
+ # inbound_permission_authorizations: [
2288
+ # {
2289
+ # from_port: 1, # required
2290
+ # to_port: 1, # required
2291
+ # ip_range: "NonBlankString", # required
2292
+ # protocol: "TCP", # required, accepts TCP, UDP
2293
+ # },
2294
+ # ],
2295
+ # inbound_permission_revocations: [
2296
+ # {
2297
+ # from_port: 1, # required
2298
+ # to_port: 1, # required
2299
+ # ip_range: "NonBlankString", # required
2300
+ # protocol: "TCP", # required, accepts TCP, UDP
2301
+ # },
2302
+ # ],
2303
+ # })
2304
+ #
2305
+ # @example Response structure
2306
+ # resp.fleet_id #=> String
2307
+ # @overload update_fleet_port_settings(params = {})
2308
+ # @param [Hash] params ({})
2309
+ def update_fleet_port_settings(params = {}, options = {})
2310
+ req = build_request(:update_fleet_port_settings, params)
2311
+ req.send_request(options)
2312
+ end
2313
+
2314
+ # Updates game session properties. This includes the session name,
2315
+ # maximum player count, protection policy, which controls whether or not
2316
+ # an active game session can be terminated during a scale-down event,
2317
+ # and the player session creation policy, which controls whether or not
2318
+ # new players can join the session. To update a game session, specify
2319
+ # the game session ID and the values you want to change. If successful,
2320
+ # an updated GameSession object is returned.
2321
+ # @option params [required, String] :game_session_id
2322
+ # Unique identifier for the game session to update. Game session ID
2323
+ # format is as follows:
2324
+ # "arn:aws:gamelift:&lt;region&gt;\::gamesession/fleet-&lt;fleet
2325
+ # ID&gt;/&lt;ID string&gt;". The value of &lt;ID string&gt; is either a
2326
+ # custom ID string (if one was specified when the game session was
2327
+ # created) an autogenerated string.
2328
+ # @option params [Integer] :maximum_player_session_count
2329
+ # Maximum number of players that can be simultaneously connected to the
2330
+ # game session.
2331
+ # @option params [String] :name
2332
+ # Descriptive label associated with a game session. Session names do not
2333
+ # need to be unique.
2334
+ # @option params [String] :player_session_creation_policy
2335
+ # Policy determining whether or not the game session accepts new
2336
+ # players.
2337
+ # @option params [String] :protection_policy
2338
+ # Game session protection policy to apply to this game session only.
2339
+ #
2340
+ # * **NoProtection** – The game session can be terminated during a
2341
+ # scale-down event.
2342
+ #
2343
+ # * **FullProtection** – If the game session is in an `ACTIVE` status,
2344
+ # it cannot be terminated during a scale-down event.
2345
+ # @return [Types::UpdateGameSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2346
+ #
2347
+ # * {Types::UpdateGameSessionOutput#game_session #GameSession} => Types::GameSession
2348
+ #
2349
+ # @example Request syntax with placeholder values
2350
+ # resp = client.update_game_session({
2351
+ # game_session_id: "ArnStringModel", # required
2352
+ # maximum_player_session_count: 1,
2353
+ # name: "NonZeroAndMaxString",
2354
+ # player_session_creation_policy: "ACCEPT_ALL", # accepts ACCEPT_ALL, DENY_ALL
2355
+ # protection_policy: "NoProtection", # accepts NoProtection, FullProtection
2356
+ # })
2357
+ #
2358
+ # @example Response structure
2359
+ # resp.game_session.game_session_id #=> String
2360
+ # resp.game_session.name #=> String
2361
+ # resp.game_session.fleet_id #=> String
2362
+ # resp.game_session.creation_time #=> Time
2363
+ # resp.game_session.termination_time #=> Time
2364
+ # resp.game_session.current_player_session_count #=> Integer
2365
+ # resp.game_session.maximum_player_session_count #=> Integer
2366
+ # resp.game_session.status #=> String, one of "ACTIVE", "ACTIVATING", "TERMINATED", "TERMINATING", "ERROR"
2367
+ # resp.game_session.game_properties #=> Array
2368
+ # resp.game_session.game_properties[0].key #=> String
2369
+ # resp.game_session.game_properties[0].value #=> String
2370
+ # resp.game_session.ip_address #=> String
2371
+ # resp.game_session.port #=> Integer
2372
+ # resp.game_session.player_session_creation_policy #=> String, one of "ACCEPT_ALL", "DENY_ALL"
2373
+ # resp.game_session.creator_id #=> String
2374
+ # @overload update_game_session(params = {})
2375
+ # @param [Hash] params ({})
2376
+ def update_game_session(params = {}, options = {})
2377
+ req = build_request(:update_game_session, params)
2378
+ req.send_request(options)
2379
+ end
2380
+
2381
+ # Updates the current runtime configuration for the specified fleet,
2382
+ # which tells GameLift how to launch server processes on instances in
2383
+ # the fleet. You can update a fleet's runtime configuration at any time
2384
+ # after the fleet is created; it does not need to be in an `ACTIVE`
2385
+ # status.
2386
+ #
2387
+ # To update runtime configuration, specify the fleet ID and provide a
2388
+ # `RuntimeConfiguration` object with the updated collection of server
2389
+ # process configurations.
2390
+ #
2391
+ # Each instance in a GameLift fleet checks regularly for an updated
2392
+ # runtime configuration and changes how it launches server processes to
2393
+ # comply with the latest version. Existing server processes are not
2394
+ # affected by the update; they continue to run until they end, while
2395
+ # GameLift simply adds new server processes to fit the current runtime
2396
+ # configuration. As a result, the runtime configuration changes are
2397
+ # applied gradually as existing processes shut down and new processes
2398
+ # are launched in GameLift's normal process recycling activity.
2399
+ # @option params [required, String] :fleet_id
2400
+ # Unique identifier of the fleet to update runtime configuration for.
2401
+ # @option params [required, Types::RuntimeConfiguration] :runtime_configuration
2402
+ # Instructions for launching server processes on each instance in the
2403
+ # fleet. The runtime configuration for a fleet has a collection of
2404
+ # server process configurations, one for each type of server process to
2405
+ # run on an instance. A server process configuration specifies the
2406
+ # location of the server executable, launch parameters, and the number
2407
+ # of concurrent processes with that configuration to maintain on each
2408
+ # instance.
2409
+ # @return [Types::UpdateRuntimeConfigurationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2410
+ #
2411
+ # * {Types::UpdateRuntimeConfigurationOutput#runtime_configuration #RuntimeConfiguration} => Types::RuntimeConfiguration
2412
+ #
2413
+ # @example Request syntax with placeholder values
2414
+ # resp = client.update_runtime_configuration({
2415
+ # fleet_id: "FleetId", # required
2416
+ # runtime_configuration: { # required
2417
+ # server_processes: [
2418
+ # {
2419
+ # launch_path: "NonZeroAndMaxString", # required
2420
+ # parameters: "NonZeroAndMaxString",
2421
+ # concurrent_executions: 1, # required
2422
+ # },
2423
+ # ],
2424
+ # },
2425
+ # })
2426
+ #
2427
+ # @example Response structure
2428
+ # resp.runtime_configuration.server_processes #=> Array
2429
+ # resp.runtime_configuration.server_processes[0].launch_path #=> String
2430
+ # resp.runtime_configuration.server_processes[0].parameters #=> String
2431
+ # resp.runtime_configuration.server_processes[0].concurrent_executions #=> Integer
2432
+ # @overload update_runtime_configuration(params = {})
2433
+ # @param [Hash] params ({})
2434
+ def update_runtime_configuration(params = {}, options = {})
2435
+ req = build_request(:update_runtime_configuration, params)
2436
+ req.send_request(options)
2437
+ end
2438
+
2439
+ # @!endgroup
2440
+
2441
+ # @param params ({})
2442
+ # @api private
2443
+ def build_request(operation_name, params = {})
2444
+ handlers = @handlers.for(operation_name)
2445
+ context = Seahorse::Client::RequestContext.new(
2446
+ operation_name: operation_name,
2447
+ operation: config.api.operation(operation_name),
2448
+ client: self,
2449
+ params: params,
2450
+ config: config)
2451
+ context[:gem_name] = 'aws-sdk-gamelift'
2452
+ context[:gem_version] = '1.0.0.rc1'
2453
+ Seahorse::Client::Request.new(handlers, context)
2454
+ end
2455
+
2456
+ # @api private
2457
+ # @deprecated
2458
+ def waiter_names
2459
+ []
2460
+ end
2461
+
2462
+ class << self
2463
+
2464
+ # @api private
2465
+ attr_reader :identifier
2466
+
2467
+ # @api private
2468
+ def errors_module
2469
+ Errors
2470
+ end
2471
+
2472
+ end
2473
+ end
2474
+ end
2475
+ end