aws-sdk-gamelift 1.0.0.rc2 → 1.0.0.rc3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be7ce9fdbd8e0dcb8fdc9fbabd7822088ea8a834
4
- data.tar.gz: 0a95207599c67cca0aa24c07adb0f95762a5fe82
3
+ metadata.gz: 9ec5f43c52a6d58361e22ccf1b13bcc92dd110c3
4
+ data.tar.gz: 610d460a1949a4ce307e0d4f682f0dceac77e1a1
5
5
  SHA512:
6
- metadata.gz: 12a7cf6ee6632bf40038551f381dbc480e34574550e2bd4c79b558aa59e35dd1a416e567cae49f38157abe90316c25fedc98c4d65c7c46fccf61cb2190a0b913
7
- data.tar.gz: 157eb13d15744f4911a8561c3fafb6bc0fc5200a8a45c8e88999d15d1a3fd2b21033d90d44ac993d4ecd05592c5f2b94489113b37f2868c21a3d3162865e3d94
6
+ metadata.gz: 7546d02e30486f47f053d31eb74c8bda5c998aa4fc8fbbc6dc3ef3842789cff1ceb59e7ac07f8c1719b47ab6cd0adecac01977ebbf3e2f84cf876f8d013c7b0f
7
+ data.tar.gz: 1fb0d9686b4da3ba9d9625536de7d45dc8f0fc3e57ed81c830582233500ecfd73017c5911912134cb053e9cbb6af1c75d7292b0b172f61953d1347b0a499e8b7
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-gamelift/customizations'
42
42
  # @service
43
43
  module Aws::GameLift
44
44
 
45
- GEM_VERSION = '1.0.0.rc2'
45
+ GEM_VERSION = '1.0.0.rc3'
46
46
 
47
47
  end
@@ -18,6 +18,7 @@ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
18
  require 'aws-sdk-core/plugins/response_paging.rb'
19
19
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
20
  require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
21
22
  require 'aws-sdk-core/plugins/signature_v4.rb'
22
23
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
24
 
@@ -45,6 +46,7 @@ module Aws::GameLift
45
46
  add_plugin(Aws::Plugins::ResponsePaging)
46
47
  add_plugin(Aws::Plugins::StubResponses)
47
48
  add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::JsonvalueConverter)
48
50
  add_plugin(Aws::Plugins::SignatureV4)
49
51
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
50
52
 
@@ -532,18 +534,30 @@ module Aws::GameLift
532
534
  # specified fleet to host the game session. A fleet must have an
533
535
  # `ACTIVE` status before a game session can be created in it.
534
536
  #
535
- # To create a game session, specify either fleet ID or alias ID, and
537
+ # To create a game session, specify either fleet ID or alias ID and
536
538
  # indicate a maximum number of players to allow in the game session. You
537
539
  # can also provide a name and game-specific properties for this game
538
540
  # session. If successful, a GameSession object is returned containing
539
- # session properties, including an IP address. By default, newly created
540
- # game sessions allow new players to join. Use UpdateGameSession to
541
- # change the game session's player session creation policy.
541
+ # game session properties, including a game session ID with the custom
542
+ # string you provided.
542
543
  #
543
- # When creating a game session on a fleet with a resource limit creation
544
- # policy, the request should include a creator ID. If none is provided,
545
- # Amazon GameLift does not evaluate the fleet's resource limit creation
546
- # policy.
544
+ # **Idempotency tokens.** You can add a token that uniquely identifies
545
+ # game session requests. This is useful for ensuring that game session
546
+ # requests are idempotent. Multiple requests with the same idempotency
547
+ # token are processed only once; subsequent requests return the original
548
+ # result. All response values are the same with the exception of game
549
+ # session status, which may change.
550
+ #
551
+ # **Resource creation limits.** If you are creating a game session on a
552
+ # fleet with a resource creation limit policy in force, then you must
553
+ # specify a creator ID. Without this ID, Amazon GameLift has no way to
554
+ # evaluate the policy for this new game session request.
555
+ #
556
+ # By default, newly created game sessions allow new players to join. Use
557
+ # UpdateGameSession to change the game session's player session
558
+ # creation policy.
559
+ #
560
+ # *Available in Amazon GameLift Local.*
547
561
  #
548
562
  # @option params [String] :fleet_id
549
563
  # Unique identifier for a fleet to create a game session in. Each
@@ -567,17 +581,27 @@ module Aws::GameLift
567
581
  # properties are passed to the server process hosting the game session.
568
582
  #
569
583
  # @option params [String] :creator_id
570
- # $player-id; or entity creating the game session. This ID is used to
571
- # enforce a resource protection policy (if one exists) that limits the
572
- # number of concurrent active game sessions one player can have.
584
+ # Unique identifier for a player or entity creating the game session.
585
+ # This ID is used to enforce a resource protection policy (if one
586
+ # exists) that limits the number of concurrent active game sessions one
587
+ # player can have.
573
588
  #
574
589
  # @option params [String] :game_session_id
575
- # Custom string to include in the game session ID, with a maximum length
576
- # of 48 characters. A game session ID has the following format:
577
- # "arn:aws:gamelift:<region>\::gamesession/<fleet
578
- # ID>/<game session ID>". If provided, the custom string is
579
- # used for the game session ID string. This value cannot be updated once
580
- # a game session is created.
590
+ # *This parameter is no longer preferred. Please use `IdempotencyToken`
591
+ # instead.* Custom string that uniquely identifies a request for a new
592
+ # game session. Maximum token length is 48 characters. If provided, this
593
+ # string is included in the new game session's ID. (A game session ID
594
+ # has the following format:
595
+ # `arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
596
+ # or idempotency token>`.)
597
+ #
598
+ # @option params [String] :idempotency_token
599
+ # Custom string that uniquely identifies a request for a new game
600
+ # session. Maximum token length is 48 characters. If provided, this
601
+ # string is included in the new game session's ID. (A game session ID
602
+ # has the following format:
603
+ # `arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
604
+ # or idempotency token>`.)
581
605
  #
582
606
  # @return [Types::CreateGameSessionOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
583
607
  #
@@ -598,6 +622,7 @@ module Aws::GameLift
598
622
  # ],
599
623
  # creator_id: "NonZeroAndMaxString",
600
624
  # game_session_id: "IdStringModel",
625
+ # idempotency_token: "IdStringModel",
601
626
  # })
602
627
  #
603
628
  # @example Response structure
@@ -627,21 +652,40 @@ module Aws::GameLift
627
652
  req.send_request(options)
628
653
  end
629
654
 
630
- # Establishes a new queue for processing requests for new game sessions.
631
- # A queue identifies where new game sessions can be hosted--by
632
- # specifying a list of fleet destinations--and how long a request can
633
- # remain in the queue waiting to be placed before timing out. Requests
634
- # for new game sessions are added to a queue by calling
635
- # StartGameSessionPlacement and referencing the queue name.
636
- #
637
- # When processing a request for a game session, Amazon GameLift tries
638
- # each destination in order until it finds one with available resources
639
- # to host the new game session. A queue's default order is determined
640
- # by how destinations are listed. This default order can be overridden
641
- # in a game session placement request.
642
- #
643
- # To create a new queue, provide a name, timeout value, and a list of
644
- # destinations. If successful, a new queue object is returned.
655
+ # Establishes a new queue for processing requests to place new game
656
+ # sessions. A queue identifies where new game sessions can be hosted --
657
+ # by specifying a list of destinations (fleets or aliases) -- and how
658
+ # long requests can wait in the queue before timing out. You can set up
659
+ # a queue to try to place game sessions on fleets in multiple regions.
660
+ # To add placement requests to a queue, call StartGameSessionPlacement
661
+ # and reference the queue name.
662
+ #
663
+ # **Destination order.** When processing a request for a game session,
664
+ # Amazon GameLift tries each destination in order until it finds one
665
+ # with available resources to host the new game session. A queue's
666
+ # default order is determined by how destinations are listed. The
667
+ # default order is overridden when a game session placement request
668
+ # provides player latency information. Player latency information
669
+ # enables Amazon GameLift to prioritize destinations where players
670
+ # report the lowest average latency, as a result placing the new game
671
+ # session where the majority of players will have the best possible
672
+ # gameplay experience.
673
+ #
674
+ # **Player latency policies.** For placement requests containing player
675
+ # latency information, use player latency policies to protect individual
676
+ # players from very high latencies. With a latency cap, even when a
677
+ # destination can deliver a low latency for most players, the game is
678
+ # not placed where any individual player is reporting latency higher
679
+ # than a policy's maximum. A queue can have multiple latency policies,
680
+ # which are enforced consecutively starting with the policy with the
681
+ # lowest latency cap. Use multiple policies to gradually relax latency
682
+ # controls; for example, you might set a policy with a low latency cap
683
+ # for the first 60 seconds, a second policy with a higher cap for the
684
+ # next 60 seconds, etc.
685
+ #
686
+ # To create a new queue, provide a name, timeout value, a list of
687
+ # destinations and, if desired, a set of latency policies. If
688
+ # successful, a new queue object is returned.
645
689
  #
646
690
  # @option params [required, String] :name
647
691
  # Descriptive label that is associated with queue. Queue names must be
@@ -652,6 +696,19 @@ module Aws::GameLift
652
696
  # remains in the queue. When a request exceeds this time, the game
653
697
  # session placement changes to a TIMED\_OUT status.
654
698
  #
699
+ # @option params [Array<Types::PlayerLatencyPolicy>] :player_latency_policies
700
+ # Collection of latency policies to apply when processing game sessions
701
+ # placement requests with player latency information. Multiple policies
702
+ # are evaluated in order of the maximum latency value, starting with the
703
+ # lowest latency values. With just one policy, it is enforced at the
704
+ # start of the game session placement for the duration period. With
705
+ # multiple policies, each policy is enforced consecutively for its
706
+ # duration period. For example, a queue might enforce a 60-second policy
707
+ # followed by a 120-second policy, and then no policy for the remainder
708
+ # of the placement. A player latency policy must set a value for
709
+ # MaximumIndividualPlayerLatencyMilliseconds; if none is set, this API
710
+ # requests will fail.
711
+ #
655
712
  # @option params [Array<Types::GameSessionQueueDestination>] :destinations
656
713
  # List of fleets that can be used to fulfill game session placement
657
714
  # requests in the queue. Fleets are identified by either a fleet ARN or
@@ -667,6 +724,12 @@ module Aws::GameLift
667
724
  # resp = client.create_game_session_queue({
668
725
  # name: "GameSessionQueueName", # required
669
726
  # timeout_in_seconds: 1,
727
+ # player_latency_policies: [
728
+ # {
729
+ # maximum_individual_player_latency_milliseconds: 1,
730
+ # policy_duration_seconds: 1,
731
+ # },
732
+ # ],
670
733
  # destinations: [
671
734
  # {
672
735
  # destination_arn: "ArnStringModel",
@@ -677,7 +740,11 @@ module Aws::GameLift
677
740
  # @example Response structure
678
741
  #
679
742
  # resp.game_session_queue.name #=> String
743
+ # resp.game_session_queue.game_session_queue_arn #=> String
680
744
  # resp.game_session_queue.timeout_in_seconds #=> Integer
745
+ # resp.game_session_queue.player_latency_policies #=> Array
746
+ # resp.game_session_queue.player_latency_policies[0].maximum_individual_player_latency_milliseconds #=> Integer
747
+ # resp.game_session_queue.player_latency_policies[0].policy_duration_seconds #=> Integer
681
748
  # resp.game_session_queue.destinations #=> Array
682
749
  # resp.game_session_queue.destinations[0].destination_arn #=> String
683
750
  #
@@ -701,6 +768,8 @@ module Aws::GameLift
701
768
  # to the game session and a new PlayerSession object is returned. Player
702
769
  # sessions cannot be updated.
703
770
  #
771
+ # *Available in Amazon GameLift Local.*
772
+ #
704
773
  # @option params [required, String] :game_session_id
705
774
  # Unique identifier for the game session to add a player to.
706
775
  #
@@ -757,6 +826,8 @@ module Aws::GameLift
757
826
  # players are added to the game session and a set of new PlayerSession
758
827
  # objects is returned. Player sessions cannot be updated.
759
828
  #
829
+ # *Available in Amazon GameLift Local.*
830
+ #
760
831
  # @option params [required, String] :game_session_id
761
832
  # Unique identifier for the game session to add players to.
762
833
  #
@@ -1381,9 +1452,10 @@ module Aws::GameLift
1381
1452
 
1382
1453
  # Retrieves properties, including the protection policy in force, for
1383
1454
  # one or more game sessions. This action can be used in several ways:
1384
- # (1) provide a `GameSessionId` to request details for a specific game
1385
- # session; (2) provide either a `FleetId` or an `AliasId` to request
1386
- # properties for all game sessions running on a fleet.
1455
+ # (1) provide a `GameSessionId` or `GameSessionArn` to request details
1456
+ # for a specific game session; (2) provide either a `FleetId` or an
1457
+ # `AliasId` to request properties for all game sessions running on a
1458
+ # fleet.
1387
1459
  #
1388
1460
  # To get game session record(s), specify just one of the following: game
1389
1461
  # session ID, fleet ID, or alias ID. You can filter this request by game
@@ -1489,6 +1561,7 @@ module Aws::GameLift
1489
1561
  # resp.game_session_placement.game_properties[0].value #=> String
1490
1562
  # resp.game_session_placement.maximum_player_session_count #=> Integer
1491
1563
  # resp.game_session_placement.game_session_name #=> String
1564
+ # resp.game_session_placement.game_session_id #=> String
1492
1565
  # resp.game_session_placement.game_session_arn #=> String
1493
1566
  # resp.game_session_placement.game_session_region #=> String
1494
1567
  # resp.game_session_placement.player_latencies #=> Array
@@ -1497,6 +1570,11 @@ module Aws::GameLift
1497
1570
  # resp.game_session_placement.player_latencies[0].latency_in_milliseconds #=> Float
1498
1571
  # resp.game_session_placement.start_time #=> Time
1499
1572
  # resp.game_session_placement.end_time #=> Time
1573
+ # resp.game_session_placement.ip_address #=> String
1574
+ # resp.game_session_placement.port #=> Integer
1575
+ # resp.game_session_placement.placed_player_sessions #=> Array
1576
+ # resp.game_session_placement.placed_player_sessions[0].player_id #=> String
1577
+ # resp.game_session_placement.placed_player_sessions[0].player_session_id #=> String
1500
1578
  #
1501
1579
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/DescribeGameSessionPlacement AWS API Documentation
1502
1580
  #
@@ -1544,7 +1622,11 @@ module Aws::GameLift
1544
1622
  #
1545
1623
  # resp.game_session_queues #=> Array
1546
1624
  # resp.game_session_queues[0].name #=> String
1625
+ # resp.game_session_queues[0].game_session_queue_arn #=> String
1547
1626
  # resp.game_session_queues[0].timeout_in_seconds #=> Integer
1627
+ # resp.game_session_queues[0].player_latency_policies #=> Array
1628
+ # resp.game_session_queues[0].player_latency_policies[0].maximum_individual_player_latency_milliseconds #=> Integer
1629
+ # resp.game_session_queues[0].player_latency_policies[0].policy_duration_seconds #=> Integer
1548
1630
  # resp.game_session_queues[0].destinations #=> Array
1549
1631
  # resp.game_session_queues[0].destinations[0].destination_arn #=> String
1550
1632
  # resp.next_token #=> String
@@ -1570,11 +1652,14 @@ module Aws::GameLift
1570
1652
  # sequential pages. If successful, a GameSession object is returned for
1571
1653
  # each game session matching the request.
1572
1654
  #
1655
+ # *Available in Amazon GameLift Local.*
1656
+ #
1573
1657
  # @option params [String] :fleet_id
1574
1658
  # Unique identifier for a fleet to retrieve all game sessions for.
1575
1659
  #
1576
1660
  # @option params [String] :game_session_id
1577
- # Unique identifier for the game session to retrieve.
1661
+ # Unique identifier for the game session to retrieve. You can use either
1662
+ # a `GameSessionId` or `GameSessionArn` value.
1578
1663
  #
1579
1664
  # @option params [String] :alias_id
1580
1665
  # Unique identifier for an alias associated with the fleet to retrieve
@@ -1700,12 +1785,11 @@ module Aws::GameLift
1700
1785
  end
1701
1786
 
1702
1787
  # Retrieves properties for one or more player sessions. This action can
1703
- # be used in several ways: (1) provide a `PlayerSessionId` parameter to
1704
- # request properties for a specific player session; (2) provide a
1705
- # `GameSessionId` parameter to request properties for all player
1706
- # sessions in the specified game session; (3) provide a `PlayerId`
1707
- # parameter to request properties for all player sessions of a specified
1708
- # player.
1788
+ # be used in several ways: (1) provide a `PlayerSessionId` to request
1789
+ # properties for a specific player session; (2) provide a
1790
+ # `GameSessionId` to request properties for all player sessions in the
1791
+ # specified game session; (3) provide a `PlayerId` to request properties
1792
+ # for all player sessions of a specified player.
1709
1793
  #
1710
1794
  # To get game session record(s), specify only one of the following: a
1711
1795
  # player session ID, a game session ID, or a player ID. You can filter
@@ -1714,6 +1798,8 @@ module Aws::GameLift
1714
1798
  # PlayerSession object is returned for each session matching the
1715
1799
  # request.
1716
1800
  #
1801
+ # *Available in Amazon GameLift Local.*
1802
+ #
1717
1803
  # @option params [String] :game_session_id
1718
1804
  # Unique identifier for the game session to retrieve player sessions
1719
1805
  # for.
@@ -2394,9 +2480,8 @@ module Aws::GameLift
2394
2480
  #
2395
2481
  # You can search or sort by the following game session attributes:
2396
2482
  #
2397
- # * **gameSessionId** -- ID value assigned to a game session. This
2398
- # unique value is returned in a GameSession object when a new game
2399
- # session is created.
2483
+ # * **gameSessionId** -- Unique identifier for the game session. You can
2484
+ # use either a `GameSessionId` or `GameSessionArn` value.
2400
2485
  #
2401
2486
  # * **gameSessionName** -- Name assigned to a game session. This value
2402
2487
  # is set when requesting a new game session with CreateGameSession or
@@ -2435,6 +2520,8 @@ module Aws::GameLift
2435
2520
  #
2436
2521
  # </note>
2437
2522
  #
2523
+ # *Available in Amazon GameLift Local.*
2524
+ #
2438
2525
  # @option params [String] :fleet_id
2439
2526
  # Unique identifier for a fleet to search for active game sessions. Each
2440
2527
  # request must reference either a fleet ID or alias ID, but not both.
@@ -2564,13 +2651,12 @@ module Aws::GameLift
2564
2651
 
2565
2652
  # Places a request for a new game session in a queue (see
2566
2653
  # CreateGameSessionQueue). When processing a placement request, Amazon
2567
- # GameLift attempts to create a new game session on one of the fleets
2568
- # associated with the queue. If no resources are available, Amazon
2569
- # GameLift tries again with another and so on until resources are found
2570
- # or the placement request times out. A game session placement request
2571
- # can also request player sessions. When a new game session is
2572
- # successfully created, Amazon GameLift creates a player session for
2573
- # each player included in the request.
2654
+ # GameLift searches for available resources on the queue's
2655
+ # destinations, scanning each until it finds resources or the placement
2656
+ # request times out. A game session placement request can also request
2657
+ # player sessions. When a new game session is successfully created,
2658
+ # Amazon GameLift creates a player session for each player included in
2659
+ # the request.
2574
2660
  #
2575
2661
  # When placing a game session, by default Amazon GameLift tries each
2576
2662
  # fleet in the order they are listed in the queue configuration.
@@ -2601,8 +2687,8 @@ module Aws::GameLift
2601
2687
  # @option params [required, String] :placement_id
2602
2688
  # Unique identifier to assign to the new game session placement. This
2603
2689
  # value is developer-defined. The value must be unique across all
2604
- # regions and cannot be reused unless you are resubmitting a cancelled
2605
- # or timed-out placement request.
2690
+ # regions and cannot be reused unless you are resubmitting a canceled or
2691
+ # timed-out placement request.
2606
2692
  #
2607
2693
  # @option params [required, String] :game_session_queue_name
2608
2694
  # Name of the queue to use to place the new game session.
@@ -2621,10 +2707,9 @@ module Aws::GameLift
2621
2707
  #
2622
2708
  # @option params [Array<Types::PlayerLatency>] :player_latencies
2623
2709
  # Set of values, expressed in milliseconds, indicating the amount of
2624
- # latency that players experience when connected to AWS regions. This
2625
- # information is relevant when requesting player sessions. Latency
2626
- # information provided for player IDs not included in
2627
- # *DesiredPlayerSessions* are ignored.
2710
+ # latency that players are experiencing when connected to AWS regions.
2711
+ # This information is used to try to place the new game session where it
2712
+ # can offer the best possible gameplay experience for the players.
2628
2713
  #
2629
2714
  # @option params [Array<Types::DesiredPlayerSession>] :desired_player_sessions
2630
2715
  # Set of information on each player to create a player session for.
@@ -2671,6 +2756,7 @@ module Aws::GameLift
2671
2756
  # resp.game_session_placement.game_properties[0].value #=> String
2672
2757
  # resp.game_session_placement.maximum_player_session_count #=> Integer
2673
2758
  # resp.game_session_placement.game_session_name #=> String
2759
+ # resp.game_session_placement.game_session_id #=> String
2674
2760
  # resp.game_session_placement.game_session_arn #=> String
2675
2761
  # resp.game_session_placement.game_session_region #=> String
2676
2762
  # resp.game_session_placement.player_latencies #=> Array
@@ -2679,6 +2765,11 @@ module Aws::GameLift
2679
2765
  # resp.game_session_placement.player_latencies[0].latency_in_milliseconds #=> Float
2680
2766
  # resp.game_session_placement.start_time #=> Time
2681
2767
  # resp.game_session_placement.end_time #=> Time
2768
+ # resp.game_session_placement.ip_address #=> String
2769
+ # resp.game_session_placement.port #=> Integer
2770
+ # resp.game_session_placement.placed_player_sessions #=> Array
2771
+ # resp.game_session_placement.placed_player_sessions[0].player_id #=> String
2772
+ # resp.game_session_placement.placed_player_sessions[0].player_session_id #=> String
2682
2773
  #
2683
2774
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StartGameSessionPlacement AWS API Documentation
2684
2775
  #
@@ -2716,6 +2807,7 @@ module Aws::GameLift
2716
2807
  # resp.game_session_placement.game_properties[0].value #=> String
2717
2808
  # resp.game_session_placement.maximum_player_session_count #=> Integer
2718
2809
  # resp.game_session_placement.game_session_name #=> String
2810
+ # resp.game_session_placement.game_session_id #=> String
2719
2811
  # resp.game_session_placement.game_session_arn #=> String
2720
2812
  # resp.game_session_placement.game_session_region #=> String
2721
2813
  # resp.game_session_placement.player_latencies #=> Array
@@ -2724,6 +2816,11 @@ module Aws::GameLift
2724
2816
  # resp.game_session_placement.player_latencies[0].latency_in_milliseconds #=> Float
2725
2817
  # resp.game_session_placement.start_time #=> Time
2726
2818
  # resp.game_session_placement.end_time #=> Time
2819
+ # resp.game_session_placement.ip_address #=> String
2820
+ # resp.game_session_placement.port #=> Integer
2821
+ # resp.game_session_placement.placed_player_sessions #=> Array
2822
+ # resp.game_session_placement.placed_player_sessions[0].player_id #=> String
2823
+ # resp.game_session_placement.placed_player_sessions[0].player_session_id #=> String
2727
2824
  #
2728
2825
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacement AWS API Documentation
2729
2826
  #
@@ -3104,11 +3201,24 @@ module Aws::GameLift
3104
3201
  # remains in the queue. When a request exceeds this time, the game
3105
3202
  # session placement changes to a TIMED\_OUT status.
3106
3203
  #
3204
+ # @option params [Array<Types::PlayerLatencyPolicy>] :player_latency_policies
3205
+ # Collection of latency policies to apply when processing game sessions
3206
+ # placement requests with player latency information. Multiple policies
3207
+ # are evaluated in order of the maximum latency value, starting with the
3208
+ # lowest latency values. With just one policy, it is enforced at the
3209
+ # start of the game session placement for the duration period. With
3210
+ # multiple policies, each policy is enforced consecutively for its
3211
+ # duration period. For example, a queue might enforce a 60-second policy
3212
+ # followed by a 120-second policy, and then no policy for the remainder
3213
+ # of the placement. When updating policies, provide a complete
3214
+ # collection of policies.
3215
+ #
3107
3216
  # @option params [Array<Types::GameSessionQueueDestination>] :destinations
3108
3217
  # List of fleets that can be used to fulfill game session placement
3109
3218
  # requests in the queue. Fleets are identified by either a fleet ARN or
3110
3219
  # a fleet alias ARN. Destinations are listed in default preference
3111
- # order.
3220
+ # order. When updating this list, provide a complete list of
3221
+ # destinations.
3112
3222
  #
3113
3223
  # @return [Types::UpdateGameSessionQueueOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3114
3224
  #
@@ -3119,6 +3229,12 @@ module Aws::GameLift
3119
3229
  # resp = client.update_game_session_queue({
3120
3230
  # name: "GameSessionQueueName", # required
3121
3231
  # timeout_in_seconds: 1,
3232
+ # player_latency_policies: [
3233
+ # {
3234
+ # maximum_individual_player_latency_milliseconds: 1,
3235
+ # policy_duration_seconds: 1,
3236
+ # },
3237
+ # ],
3122
3238
  # destinations: [
3123
3239
  # {
3124
3240
  # destination_arn: "ArnStringModel",
@@ -3129,7 +3245,11 @@ module Aws::GameLift
3129
3245
  # @example Response structure
3130
3246
  #
3131
3247
  # resp.game_session_queue.name #=> String
3248
+ # resp.game_session_queue.game_session_queue_arn #=> String
3132
3249
  # resp.game_session_queue.timeout_in_seconds #=> Integer
3250
+ # resp.game_session_queue.player_latency_policies #=> Array
3251
+ # resp.game_session_queue.player_latency_policies[0].maximum_individual_player_latency_milliseconds #=> Integer
3252
+ # resp.game_session_queue.player_latency_policies[0].policy_duration_seconds #=> Integer
3133
3253
  # resp.game_session_queue.destinations #=> Array
3134
3254
  # resp.game_session_queue.destinations[0].destination_arn #=> String
3135
3255
  #
@@ -3222,7 +3342,7 @@ module Aws::GameLift
3222
3342
  params: params,
3223
3343
  config: config)
3224
3344
  context[:gem_name] = 'aws-sdk-gamelift'
3225
- context[:gem_version] = '1.0.0.rc2'
3345
+ context[:gem_version] = '1.0.0.rc3'
3226
3346
  Seahorse::Client::Request.new(handlers, context)
3227
3347
  end
3228
3348
 
@@ -149,11 +149,15 @@ module Aws::GameLift
149
149
  NonZeroAndMaxString = Shapes::StringShape.new(name: 'NonZeroAndMaxString')
150
150
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
151
151
  OperatingSystem = Shapes::StringShape.new(name: 'OperatingSystem')
152
+ PlacedPlayerSession = Shapes::StructureShape.new(name: 'PlacedPlayerSession')
153
+ PlacedPlayerSessionList = Shapes::ListShape.new(name: 'PlacedPlayerSessionList')
152
154
  PlayerData = Shapes::StringShape.new(name: 'PlayerData')
153
155
  PlayerDataMap = Shapes::MapShape.new(name: 'PlayerDataMap')
154
156
  PlayerIdList = Shapes::ListShape.new(name: 'PlayerIdList')
155
157
  PlayerLatency = Shapes::StructureShape.new(name: 'PlayerLatency')
156
158
  PlayerLatencyList = Shapes::ListShape.new(name: 'PlayerLatencyList')
159
+ PlayerLatencyPolicy = Shapes::StructureShape.new(name: 'PlayerLatencyPolicy')
160
+ PlayerLatencyPolicyList = Shapes::ListShape.new(name: 'PlayerLatencyPolicyList')
157
161
  PlayerSession = Shapes::StructureShape.new(name: 'PlayerSession')
158
162
  PlayerSessionCreationPolicy = Shapes::StringShape.new(name: 'PlayerSessionCreationPolicy')
159
163
  PlayerSessionId = Shapes::StringShape.new(name: 'PlayerSessionId')
@@ -277,6 +281,7 @@ module Aws::GameLift
277
281
  CreateGameSessionInput.add_member(:game_properties, Shapes::ShapeRef.new(shape: GamePropertyList, location_name: "GameProperties"))
278
282
  CreateGameSessionInput.add_member(:creator_id, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "CreatorId"))
279
283
  CreateGameSessionInput.add_member(:game_session_id, Shapes::ShapeRef.new(shape: IdStringModel, location_name: "GameSessionId"))
284
+ CreateGameSessionInput.add_member(:idempotency_token, Shapes::ShapeRef.new(shape: IdStringModel, location_name: "IdempotencyToken"))
280
285
  CreateGameSessionInput.struct_class = Types::CreateGameSessionInput
281
286
 
282
287
  CreateGameSessionOutput.add_member(:game_session, Shapes::ShapeRef.new(shape: GameSession, location_name: "GameSession"))
@@ -284,6 +289,7 @@ module Aws::GameLift
284
289
 
285
290
  CreateGameSessionQueueInput.add_member(:name, Shapes::ShapeRef.new(shape: GameSessionQueueName, required: true, location_name: "Name"))
286
291
  CreateGameSessionQueueInput.add_member(:timeout_in_seconds, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TimeoutInSeconds"))
292
+ CreateGameSessionQueueInput.add_member(:player_latency_policies, Shapes::ShapeRef.new(shape: PlayerLatencyPolicyList, location_name: "PlayerLatencyPolicies"))
287
293
  CreateGameSessionQueueInput.add_member(:destinations, Shapes::ShapeRef.new(shape: GameSessionQueueDestinationList, location_name: "Destinations"))
288
294
  CreateGameSessionQueueInput.struct_class = Types::CreateGameSessionQueueInput
289
295
 
@@ -565,15 +571,21 @@ module Aws::GameLift
565
571
  GameSessionPlacement.add_member(:game_properties, Shapes::ShapeRef.new(shape: GamePropertyList, location_name: "GameProperties"))
566
572
  GameSessionPlacement.add_member(:maximum_player_session_count, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "MaximumPlayerSessionCount"))
567
573
  GameSessionPlacement.add_member(:game_session_name, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "GameSessionName"))
574
+ GameSessionPlacement.add_member(:game_session_id, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "GameSessionId"))
568
575
  GameSessionPlacement.add_member(:game_session_arn, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "GameSessionArn"))
569
576
  GameSessionPlacement.add_member(:game_session_region, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "GameSessionRegion"))
570
577
  GameSessionPlacement.add_member(:player_latencies, Shapes::ShapeRef.new(shape: PlayerLatencyList, location_name: "PlayerLatencies"))
571
578
  GameSessionPlacement.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTime"))
572
579
  GameSessionPlacement.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTime"))
580
+ GameSessionPlacement.add_member(:ip_address, Shapes::ShapeRef.new(shape: IpAddress, location_name: "IpAddress"))
581
+ GameSessionPlacement.add_member(:port, Shapes::ShapeRef.new(shape: PortNumber, location_name: "Port"))
582
+ GameSessionPlacement.add_member(:placed_player_sessions, Shapes::ShapeRef.new(shape: PlacedPlayerSessionList, location_name: "PlacedPlayerSessions"))
573
583
  GameSessionPlacement.struct_class = Types::GameSessionPlacement
574
584
 
575
585
  GameSessionQueue.add_member(:name, Shapes::ShapeRef.new(shape: GameSessionQueueName, location_name: "Name"))
586
+ GameSessionQueue.add_member(:game_session_queue_arn, Shapes::ShapeRef.new(shape: ArnStringModel, location_name: "GameSessionQueueArn"))
576
587
  GameSessionQueue.add_member(:timeout_in_seconds, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TimeoutInSeconds"))
588
+ GameSessionQueue.add_member(:player_latency_policies, Shapes::ShapeRef.new(shape: PlayerLatencyPolicyList, location_name: "PlayerLatencyPolicies"))
577
589
  GameSessionQueue.add_member(:destinations, Shapes::ShapeRef.new(shape: GameSessionQueueDestinationList, location_name: "Destinations"))
578
590
  GameSessionQueue.struct_class = Types::GameSessionQueue
579
591
 
@@ -657,6 +669,12 @@ module Aws::GameLift
657
669
  ListFleetsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "NextToken"))
658
670
  ListFleetsOutput.struct_class = Types::ListFleetsOutput
659
671
 
672
+ PlacedPlayerSession.add_member(:player_id, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "PlayerId"))
673
+ PlacedPlayerSession.add_member(:player_session_id, Shapes::ShapeRef.new(shape: PlayerSessionId, location_name: "PlayerSessionId"))
674
+ PlacedPlayerSession.struct_class = Types::PlacedPlayerSession
675
+
676
+ PlacedPlayerSessionList.member = Shapes::ShapeRef.new(shape: PlacedPlayerSession)
677
+
660
678
  PlayerDataMap.key = Shapes::ShapeRef.new(shape: NonZeroAndMaxString)
661
679
  PlayerDataMap.value = Shapes::ShapeRef.new(shape: PlayerData)
662
680
 
@@ -669,6 +687,12 @@ module Aws::GameLift
669
687
 
670
688
  PlayerLatencyList.member = Shapes::ShapeRef.new(shape: PlayerLatency)
671
689
 
690
+ PlayerLatencyPolicy.add_member(:maximum_individual_player_latency_milliseconds, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "MaximumIndividualPlayerLatencyMilliseconds"))
691
+ PlayerLatencyPolicy.add_member(:policy_duration_seconds, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "PolicyDurationSeconds"))
692
+ PlayerLatencyPolicy.struct_class = Types::PlayerLatencyPolicy
693
+
694
+ PlayerLatencyPolicyList.member = Shapes::ShapeRef.new(shape: PlayerLatencyPolicy)
695
+
672
696
  PlayerSession.add_member(:player_session_id, Shapes::ShapeRef.new(shape: PlayerSessionId, location_name: "PlayerSessionId"))
673
697
  PlayerSession.add_member(:player_id, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "PlayerId"))
674
698
  PlayerSession.add_member(:game_session_id, Shapes::ShapeRef.new(shape: NonZeroAndMaxString, location_name: "GameSessionId"))
@@ -834,6 +858,7 @@ module Aws::GameLift
834
858
 
835
859
  UpdateGameSessionQueueInput.add_member(:name, Shapes::ShapeRef.new(shape: GameSessionQueueName, required: true, location_name: "Name"))
836
860
  UpdateGameSessionQueueInput.add_member(:timeout_in_seconds, Shapes::ShapeRef.new(shape: WholeNumber, location_name: "TimeoutInSeconds"))
861
+ UpdateGameSessionQueueInput.add_member(:player_latency_policies, Shapes::ShapeRef.new(shape: PlayerLatencyPolicyList, location_name: "PlayerLatencyPolicies"))
837
862
  UpdateGameSessionQueueInput.add_member(:destinations, Shapes::ShapeRef.new(shape: GameSessionQueueDestinationList, location_name: "Destinations"))
838
863
  UpdateGameSessionQueueInput.struct_class = Types::UpdateGameSessionQueueInput
839
864
 
@@ -491,6 +491,7 @@ module Aws::GameLift
491
491
  # ],
492
492
  # creator_id: "NonZeroAndMaxString",
493
493
  # game_session_id: "IdStringModel",
494
+ # idempotency_token: "IdStringModel",
494
495
  # }
495
496
  #
496
497
  # @!attribute [rw] fleet_id
@@ -521,18 +522,29 @@ module Aws::GameLift
521
522
  # @return [Array<Types::GameProperty>]
522
523
  #
523
524
  # @!attribute [rw] creator_id
524
- # $player-id; or entity creating the game session. This ID is used to
525
- # enforce a resource protection policy (if one exists) that limits the
526
- # number of concurrent active game sessions one player can have.
525
+ # Unique identifier for a player or entity creating the game session.
526
+ # This ID is used to enforce a resource protection policy (if one
527
+ # exists) that limits the number of concurrent active game sessions
528
+ # one player can have.
527
529
  # @return [String]
528
530
  #
529
531
  # @!attribute [rw] game_session_id
530
- # Custom string to include in the game session ID, with a maximum
531
- # length of 48 characters. A game session ID has the following format:
532
- # "arn:aws:gamelift:&lt;region&gt;\::gamesession/&lt;fleet
533
- # ID&gt;/&lt;game session ID&gt;". If provided, the custom string is
534
- # used for the game session ID string. This value cannot be updated
535
- # once a game session is created.
532
+ # *This parameter is no longer preferred. Please use
533
+ # `IdempotencyToken` instead.* Custom string that uniquely identifies
534
+ # a request for a new game session. Maximum token length is 48
535
+ # characters. If provided, this string is included in the new game
536
+ # session's ID. (A game session ID has the following format:
537
+ # `arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
538
+ # or idempotency token>`.)
539
+ # @return [String]
540
+ #
541
+ # @!attribute [rw] idempotency_token
542
+ # Custom string that uniquely identifies a request for a new game
543
+ # session. Maximum token length is 48 characters. If provided, this
544
+ # string is included in the new game session's ID. (A game session ID
545
+ # has the following format:
546
+ # `arn:aws:gamelift:<region>::gamesession/<fleet ID>/<custom ID string
547
+ # or idempotency token>`.)
536
548
  # @return [String]
537
549
  #
538
550
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/CreateGameSessionInput AWS API Documentation
@@ -544,7 +556,8 @@ module Aws::GameLift
544
556
  :name,
545
557
  :game_properties,
546
558
  :creator_id,
547
- :game_session_id)
559
+ :game_session_id,
560
+ :idempotency_token)
548
561
  include Aws::Structure
549
562
  end
550
563
 
@@ -561,12 +574,20 @@ module Aws::GameLift
561
574
  include Aws::Structure
562
575
  end
563
576
 
577
+ # Represents the input for a request action.
578
+ #
564
579
  # @note When making an API call, you may pass CreateGameSessionQueueInput
565
580
  # data as a hash:
566
581
  #
567
582
  # {
568
583
  # name: "GameSessionQueueName", # required
569
584
  # timeout_in_seconds: 1,
585
+ # player_latency_policies: [
586
+ # {
587
+ # maximum_individual_player_latency_milliseconds: 1,
588
+ # policy_duration_seconds: 1,
589
+ # },
590
+ # ],
570
591
  # destinations: [
571
592
  # {
572
593
  # destination_arn: "ArnStringModel",
@@ -585,6 +606,21 @@ module Aws::GameLift
585
606
  # session placement changes to a TIMED\_OUT status.
586
607
  # @return [Integer]
587
608
  #
609
+ # @!attribute [rw] player_latency_policies
610
+ # Collection of latency policies to apply when processing game
611
+ # sessions placement requests with player latency information.
612
+ # Multiple policies are evaluated in order of the maximum latency
613
+ # value, starting with the lowest latency values. With just one
614
+ # policy, it is enforced at the start of the game session placement
615
+ # for the duration period. With multiple policies, each policy is
616
+ # enforced consecutively for its duration period. For example, a queue
617
+ # might enforce a 60-second policy followed by a 120-second policy,
618
+ # and then no policy for the remainder of the placement. A player
619
+ # latency policy must set a value for
620
+ # MaximumIndividualPlayerLatencyMilliseconds; if none is set, this API
621
+ # requests will fail.
622
+ # @return [Array<Types::PlayerLatencyPolicy>]
623
+ #
588
624
  # @!attribute [rw] destinations
589
625
  # List of fleets that can be used to fulfill game session placement
590
626
  # requests in the queue. Fleets are identified by either a fleet ARN
@@ -597,10 +633,13 @@ module Aws::GameLift
597
633
  class CreateGameSessionQueueInput < Struct.new(
598
634
  :name,
599
635
  :timeout_in_seconds,
636
+ :player_latency_policies,
600
637
  :destinations)
601
638
  include Aws::Structure
602
639
  end
603
640
 
641
+ # Represents the returned data in response to a request action.
642
+ #
604
643
  # @!attribute [rw] game_session_queue
605
644
  # Object that describes the newly created game session queue.
606
645
  # @return [Types::GameSessionQueue]
@@ -771,6 +810,8 @@ module Aws::GameLift
771
810
  include Aws::Structure
772
811
  end
773
812
 
813
+ # Represents the input for a request action.
814
+ #
774
815
  # @note When making an API call, you may pass DeleteGameSessionQueueInput
775
816
  # data as a hash:
776
817
  #
@@ -1306,6 +1347,8 @@ module Aws::GameLift
1306
1347
  include Aws::Structure
1307
1348
  end
1308
1349
 
1350
+ # Represents the input for a request action.
1351
+ #
1309
1352
  # @note When making an API call, you may pass DescribeGameSessionPlacementInput
1310
1353
  # data as a hash:
1311
1354
  #
@@ -1324,6 +1367,8 @@ module Aws::GameLift
1324
1367
  include Aws::Structure
1325
1368
  end
1326
1369
 
1370
+ # Represents the returned data in response to a request action.
1371
+ #
1327
1372
  # @!attribute [rw] game_session_placement
1328
1373
  # Object that describes the requested game session placement.
1329
1374
  # @return [Types::GameSessionPlacement]
@@ -1335,6 +1380,8 @@ module Aws::GameLift
1335
1380
  include Aws::Structure
1336
1381
  end
1337
1382
 
1383
+ # Represents the input for a request action.
1384
+ #
1338
1385
  # @note When making an API call, you may pass DescribeGameSessionQueuesInput
1339
1386
  # data as a hash:
1340
1387
  #
@@ -1370,6 +1417,8 @@ module Aws::GameLift
1370
1417
  include Aws::Structure
1371
1418
  end
1372
1419
 
1420
+ # Represents the returned data in response to a request action.
1421
+ #
1373
1422
  # @!attribute [rw] game_session_queues
1374
1423
  # Collection of objects that describes the requested game session
1375
1424
  # queues.
@@ -1408,7 +1457,8 @@ module Aws::GameLift
1408
1457
  # @return [String]
1409
1458
  #
1410
1459
  # @!attribute [rw] game_session_id
1411
- # Unique identifier for the game session to retrieve.
1460
+ # Unique identifier for the game session to retrieve. You can use
1461
+ # either a `GameSessionId` or `GameSessionArn` value.
1412
1462
  # @return [String]
1413
1463
  #
1414
1464
  # @!attribute [rw] alias_id
@@ -2129,9 +2179,8 @@ module Aws::GameLift
2129
2179
  #
2130
2180
  # @!attribute [rw] game_session_id
2131
2181
  # Unique identifier for the game session. A game session ID has the
2132
- # following format:
2133
- # "arn:aws:gamelift:&lt;region&gt;\::gamesession/&lt;fleet
2134
- # ID&gt;/&lt;game session ID&gt;".
2182
+ # following format: `arn:aws:gamelift:<region>::gamesession/<fleet
2183
+ # ID>/<custom ID string or idempotency token>`.
2135
2184
  # @return [String]
2136
2185
  #
2137
2186
  # @!attribute [rw] name
@@ -2176,13 +2225,13 @@ module Aws::GameLift
2176
2225
  # @return [Array<Types::GameProperty>]
2177
2226
  #
2178
2227
  # @!attribute [rw] ip_address
2179
- # IP address of the game session. To connect to a Amazon GameLift
2180
- # server process, an app needs both the IP address and port number.
2228
+ # IP address of the game session. To connect to a Amazon GameLift game
2229
+ # server, an app needs both the IP address and port number.
2181
2230
  # @return [String]
2182
2231
  #
2183
2232
  # @!attribute [rw] port
2184
2233
  # Port number for the game session. To connect to a Amazon GameLift
2185
- # server process, an app needs both the IP address and port number.
2234
+ # game server, an app needs both the IP address and port number.
2186
2235
  # @return [Integer]
2187
2236
  #
2188
2237
  # @!attribute [rw] player_session_creation_policy
@@ -2270,7 +2319,7 @@ module Aws::GameLift
2270
2319
  # requested) have been successfully created. Values for
2271
2320
  # *GameSessionArn* and *GameSessionRegion* are available.
2272
2321
  #
2273
- # * **CANCELLED** – The placement request was cancelled with a call to
2322
+ # * **CANCELLED** – The placement request was canceled with a call to
2274
2323
  # StopGameSessionPlacement.
2275
2324
  #
2276
2325
  # * **TIMED\_OUT** – A new game session was not successfully created
@@ -2294,21 +2343,27 @@ module Aws::GameLift
2294
2343
  # names do not need to be unique.
2295
2344
  # @return [String]
2296
2345
  #
2346
+ # @!attribute [rw] game_session_id
2347
+ # Unique identifier for the game session. This value is set once the
2348
+ # new game session is placed (placement status is Fulfilled).
2349
+ # @return [String]
2350
+ #
2297
2351
  # @!attribute [rw] game_session_arn
2298
2352
  # Identifier for the game session created by this placement request.
2299
- # This value exists only if the game session placement status is
2300
- # Completed. This identifier is unique across all regions.
2353
+ # This value is set once the new game session is placed (placement
2354
+ # status is Fulfilled). This identifier is unique across all regions.
2355
+ # You can use this value as a `GameSessionId` value as needed.
2301
2356
  # @return [String]
2302
2357
  #
2303
2358
  # @!attribute [rw] game_session_region
2304
2359
  # Name of the region where the game session created by this placement
2305
- # request is running. This value exists only if the game session
2306
- # placement status is Completed.
2360
+ # request is running. This value is set once the new game session is
2361
+ # placed (placement status is Fulfilled).
2307
2362
  # @return [String]
2308
2363
  #
2309
2364
  # @!attribute [rw] player_latencies
2310
2365
  # Set of values, expressed in milliseconds, indicating the amount of
2311
- # latency that players experience when connected to AWS regions.
2366
+ # latency that players are experiencing when connected to AWS regions.
2312
2367
  # @return [Array<Types::PlayerLatency>]
2313
2368
  #
2314
2369
  # @!attribute [rw] start_time
@@ -2318,10 +2373,34 @@ module Aws::GameLift
2318
2373
  # @return [Time]
2319
2374
  #
2320
2375
  # @!attribute [rw] end_time
2321
- # Time stamp indicating when this request was completed, cancelled, or
2376
+ # Time stamp indicating when this request was completed, canceled, or
2322
2377
  # timed out.
2323
2378
  # @return [Time]
2324
2379
  #
2380
+ # @!attribute [rw] ip_address
2381
+ # IP address of the game session. To connect to a Amazon GameLift game
2382
+ # server, an app needs both the IP address and port number. This value
2383
+ # is set once the new game session is placed (placement status is
2384
+ # Fulfilled).
2385
+ # @return [String]
2386
+ #
2387
+ # @!attribute [rw] port
2388
+ # Port number for the game session. To connect to a Amazon GameLift
2389
+ # game server, an app needs both the IP address and port number. This
2390
+ # value is set once the new game session is placed (placement status
2391
+ # is Fulfilled).
2392
+ # @return [Integer]
2393
+ #
2394
+ # @!attribute [rw] placed_player_sessions
2395
+ # Collection of information on player sessions created in response to
2396
+ # the game session placement request. These player sessions are
2397
+ # created only once a new game session is successfully placed
2398
+ # (placement status is Fulfilled). This information includes the
2399
+ # player ID (as provided in the placement request) and the
2400
+ # corresponding player session ID. Retrieve full player sessions by
2401
+ # calling DescribePlayerSessions with the player session ID.
2402
+ # @return [Array<Types::PlacedPlayerSession>]
2403
+ #
2325
2404
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/GameSessionPlacement AWS API Documentation
2326
2405
  #
2327
2406
  class GameSessionPlacement < Struct.new(
@@ -2331,20 +2410,38 @@ module Aws::GameLift
2331
2410
  :game_properties,
2332
2411
  :maximum_player_session_count,
2333
2412
  :game_session_name,
2413
+ :game_session_id,
2334
2414
  :game_session_arn,
2335
2415
  :game_session_region,
2336
2416
  :player_latencies,
2337
2417
  :start_time,
2338
- :end_time)
2418
+ :end_time,
2419
+ :ip_address,
2420
+ :port,
2421
+ :placed_player_sessions)
2339
2422
  include Aws::Structure
2340
2423
  end
2341
2424
 
2342
- # Configuration of a queue used to process game session placement
2343
- # requests. The queue configuration identifies the fleets that new game
2344
- # session can be placed on, given available resources, and the length of
2345
- # time a request can remain in the queue waiting for placement.
2425
+ # Configuration of a queue that is used to process game session
2426
+ # placement requests. The queue configuration identifies several game
2427
+ # features:
2346
2428
  #
2347
- # Queue-related operations include:
2429
+ # * The destinations where a new game session can potentially be hosted.
2430
+ # Amazon GameLift tries these destinations in an order based on either
2431
+ # the queue's default order or player latency information, if
2432
+ # provided in a placement request. With latency information, Amazon
2433
+ # GameLift can place game sessions where the majority of players are
2434
+ # reporting the lowest possible latency.
2435
+ #
2436
+ # * The length of time that placement requests can wait in the queue
2437
+ # before timing out.
2438
+ #
2439
+ # * A set of optional latency policies that protect individual players
2440
+ # from high latencies, preventing game sessions from being placed
2441
+ # where any individual player is reporting latency higher than a
2442
+ # policy's maximum.
2443
+ #
2444
+ # Queue-related operations include the following:
2348
2445
  #
2349
2446
  # * CreateGameSessionQueue
2350
2447
  #
@@ -2359,12 +2456,34 @@ module Aws::GameLift
2359
2456
  # unique within each region.
2360
2457
  # @return [String]
2361
2458
  #
2459
+ # @!attribute [rw] game_session_queue_arn
2460
+ # Amazon Resource Name ([ARN][1]) that is assigned to a game session
2461
+ # queue and uniquely identifies it. Format is
2462
+ # `arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912`.
2463
+ #
2464
+ #
2465
+ #
2466
+ # [1]: http://docs.aws.amazon.com/docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html
2467
+ # @return [String]
2468
+ #
2362
2469
  # @!attribute [rw] timeout_in_seconds
2363
2470
  # Maximum time, in seconds, that a new game session placement request
2364
2471
  # remains in the queue. When a request exceeds this time, the game
2365
2472
  # session placement changes to a TIMED\_OUT status.
2366
2473
  # @return [Integer]
2367
2474
  #
2475
+ # @!attribute [rw] player_latency_policies
2476
+ # Collection of latency policies to apply when processing game
2477
+ # sessions placement requests with player latency information.
2478
+ # Multiple policies are evaluated in order of the maximum latency
2479
+ # value, starting with the lowest latency values. With just one
2480
+ # policy, it is enforced at the start of the game session placement
2481
+ # for the duration period. With multiple policies, each policy is
2482
+ # enforced consecutively for its duration period. For example, a queue
2483
+ # might enforce a 60-second policy followed by a 120-second policy,
2484
+ # and then no policy for the remainder of the placement.
2485
+ # @return [Array<Types::PlayerLatencyPolicy>]
2486
+ #
2368
2487
  # @!attribute [rw] destinations
2369
2488
  # List of fleets that can be used to fulfill game session placement
2370
2489
  # requests in the queue. Fleets are identified by either a fleet ARN
@@ -2376,14 +2495,16 @@ module Aws::GameLift
2376
2495
  #
2377
2496
  class GameSessionQueue < Struct.new(
2378
2497
  :name,
2498
+ :game_session_queue_arn,
2379
2499
  :timeout_in_seconds,
2500
+ :player_latency_policies,
2380
2501
  :destinations)
2381
2502
  include Aws::Structure
2382
2503
  end
2383
2504
 
2384
2505
  # Fleet designated in a game session queue. Requests for new game
2385
2506
  # sessions in the queue are fulfilled by starting a new game session on
2386
- # any destination listed for a queue.
2507
+ # any destination configured for a queue.
2387
2508
  #
2388
2509
  # @note When making an API call, you may pass GameSessionQueueDestination
2389
2510
  # data as a hash:
@@ -2438,6 +2559,8 @@ module Aws::GameLift
2438
2559
  include Aws::Structure
2439
2560
  end
2440
2561
 
2562
+ # Represents the input for a request action.
2563
+ #
2441
2564
  # @note When making an API call, you may pass GetInstanceAccessInput
2442
2565
  # data as a hash:
2443
2566
  #
@@ -2466,6 +2589,8 @@ module Aws::GameLift
2466
2589
  include Aws::Structure
2467
2590
  end
2468
2591
 
2592
+ # Represents the returned data in response to a request action.
2593
+ #
2469
2594
  # @!attribute [rw] instance_access
2470
2595
  # Object that contains connection information for a fleet instance,
2471
2596
  # including IP address and access credentials.
@@ -2848,6 +2973,28 @@ module Aws::GameLift
2848
2973
  include Aws::Structure
2849
2974
  end
2850
2975
 
2976
+ # Information about a player session that was created as part of a
2977
+ # StartGameSessionPlacement request. This object contains only the
2978
+ # player ID and player session ID. To retrieve full details on a player
2979
+ # session, call DescribePlayerSessions with the player session ID.
2980
+ #
2981
+ # @!attribute [rw] player_id
2982
+ # Unique identifier for a player that is associated with this player
2983
+ # session.
2984
+ # @return [String]
2985
+ #
2986
+ # @!attribute [rw] player_session_id
2987
+ # Unique identifier for a player session.
2988
+ # @return [String]
2989
+ #
2990
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PlacedPlayerSession AWS API Documentation
2991
+ #
2992
+ class PlacedPlayerSession < Struct.new(
2993
+ :player_id,
2994
+ :player_session_id)
2995
+ include Aws::Structure
2996
+ end
2997
+
2851
2998
  # Regional latency information for a player, used when requesting a new
2852
2999
  # game session with StartGameSessionPlacement. This value indicates the
2853
3000
  # amount of time lag that exists when the player is connected to a fleet
@@ -2886,6 +3033,48 @@ module Aws::GameLift
2886
3033
  include Aws::Structure
2887
3034
  end
2888
3035
 
3036
+ # Queue setting that determines the highest latency allowed for
3037
+ # individual players when placing a game session. When a latency policy
3038
+ # is in force, a game session cannot be placed at any destination in a
3039
+ # region where a player is reporting latency higher than the cap.
3040
+ # Latency policies are only enforced when the placement request contains
3041
+ # player latency information.
3042
+ #
3043
+ # Latency policy-related operations include:
3044
+ #
3045
+ # * CreateGameSessionQueue
3046
+ #
3047
+ # * UpdateGameSessionQueue
3048
+ #
3049
+ # * StartGameSessionPlacement
3050
+ #
3051
+ # @note When making an API call, you may pass PlayerLatencyPolicy
3052
+ # data as a hash:
3053
+ #
3054
+ # {
3055
+ # maximum_individual_player_latency_milliseconds: 1,
3056
+ # policy_duration_seconds: 1,
3057
+ # }
3058
+ #
3059
+ # @!attribute [rw] maximum_individual_player_latency_milliseconds
3060
+ # The maximum latency value that is allowed for any player, in
3061
+ # milliseconds. All policies must have a value set for this property.
3062
+ # @return [Integer]
3063
+ #
3064
+ # @!attribute [rw] policy_duration_seconds
3065
+ # The length of time, in seconds, that the policy is enforced while
3066
+ # placing a new game session. A null value for this property means
3067
+ # that the policy is enforced until the queue times out.
3068
+ # @return [Integer]
3069
+ #
3070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/PlayerLatencyPolicy AWS API Documentation
3071
+ #
3072
+ class PlayerLatencyPolicy < Struct.new(
3073
+ :maximum_individual_player_latency_milliseconds,
3074
+ :policy_duration_seconds)
3075
+ include Aws::Structure
3076
+ end
3077
+
2889
3078
  # Properties describing a player session. A player session represents
2890
3079
  # either a player reservation for a game session or actual player
2891
3080
  # activity in a game session. A player session object (including player
@@ -2951,8 +3140,8 @@ module Aws::GameLift
2951
3140
  # @return [String]
2952
3141
  #
2953
3142
  # @!attribute [rw] ip_address
2954
- # Game session IP address. All player sessions reference the game
2955
- # session location.
3143
+ # IP address of the game session. To connect to a Amazon GameLift game
3144
+ # server, an app needs both the IP address and port number.
2956
3145
  # @return [String]
2957
3146
  #
2958
3147
  # @!attribute [rw] port
@@ -3637,6 +3826,8 @@ module Aws::GameLift
3637
3826
  include Aws::Structure
3638
3827
  end
3639
3828
 
3829
+ # Represents the input for a request action.
3830
+ #
3640
3831
  # @note When making an API call, you may pass StartGameSessionPlacementInput
3641
3832
  # data as a hash:
3642
3833
  #
@@ -3669,7 +3860,7 @@ module Aws::GameLift
3669
3860
  # @!attribute [rw] placement_id
3670
3861
  # Unique identifier to assign to the new game session placement. This
3671
3862
  # value is developer-defined. The value must be unique across all
3672
- # regions and cannot be reused unless you are resubmitting a cancelled
3863
+ # regions and cannot be reused unless you are resubmitting a canceled
3673
3864
  # or timed-out placement request.
3674
3865
  # @return [String]
3675
3866
  #
@@ -3695,10 +3886,9 @@ module Aws::GameLift
3695
3886
  #
3696
3887
  # @!attribute [rw] player_latencies
3697
3888
  # Set of values, expressed in milliseconds, indicating the amount of
3698
- # latency that players experience when connected to AWS regions. This
3699
- # information is relevant when requesting player sessions. Latency
3700
- # information provided for player IDs not included in
3701
- # *DesiredPlayerSessions* are ignored.
3889
+ # latency that players are experiencing when connected to AWS regions.
3890
+ # This information is used to try to place the new game session where
3891
+ # it can offer the best possible gameplay experience for the players.
3702
3892
  # @return [Array<Types::PlayerLatency>]
3703
3893
  #
3704
3894
  # @!attribute [rw] desired_player_sessions
@@ -3718,6 +3908,8 @@ module Aws::GameLift
3718
3908
  include Aws::Structure
3719
3909
  end
3720
3910
 
3911
+ # Represents the returned data in response to a request action.
3912
+ #
3721
3913
  # @!attribute [rw] game_session_placement
3722
3914
  # Object that describes the newly created game session placement. This
3723
3915
  # object includes all the information provided in the request, as well
@@ -3731,6 +3923,8 @@ module Aws::GameLift
3731
3923
  include Aws::Structure
3732
3924
  end
3733
3925
 
3926
+ # Represents the input for a request action.
3927
+ #
3734
3928
  # @note When making an API call, you may pass StopGameSessionPlacementInput
3735
3929
  # data as a hash:
3736
3930
  #
@@ -3749,9 +3943,11 @@ module Aws::GameLift
3749
3943
  include Aws::Structure
3750
3944
  end
3751
3945
 
3946
+ # Represents the returned data in response to a request action.
3947
+ #
3752
3948
  # @!attribute [rw] game_session_placement
3753
- # Object that describes the cancelled game session placement, with
3754
- # cancelled status and an end time stamp.
3949
+ # Object that describes the canceled game session placement, with
3950
+ # Cancelled status and an end time stamp.
3755
3951
  # @return [Types::GameSessionPlacement]
3756
3952
  #
3757
3953
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/StopGameSessionPlacementOutput AWS API Documentation
@@ -4114,12 +4310,20 @@ module Aws::GameLift
4114
4310
  include Aws::Structure
4115
4311
  end
4116
4312
 
4313
+ # Represents the input for a request action.
4314
+ #
4117
4315
  # @note When making an API call, you may pass UpdateGameSessionQueueInput
4118
4316
  # data as a hash:
4119
4317
  #
4120
4318
  # {
4121
4319
  # name: "GameSessionQueueName", # required
4122
4320
  # timeout_in_seconds: 1,
4321
+ # player_latency_policies: [
4322
+ # {
4323
+ # maximum_individual_player_latency_milliseconds: 1,
4324
+ # policy_duration_seconds: 1,
4325
+ # },
4326
+ # ],
4123
4327
  # destinations: [
4124
4328
  # {
4125
4329
  # destination_arn: "ArnStringModel",
@@ -4138,11 +4342,25 @@ module Aws::GameLift
4138
4342
  # session placement changes to a TIMED\_OUT status.
4139
4343
  # @return [Integer]
4140
4344
  #
4345
+ # @!attribute [rw] player_latency_policies
4346
+ # Collection of latency policies to apply when processing game
4347
+ # sessions placement requests with player latency information.
4348
+ # Multiple policies are evaluated in order of the maximum latency
4349
+ # value, starting with the lowest latency values. With just one
4350
+ # policy, it is enforced at the start of the game session placement
4351
+ # for the duration period. With multiple policies, each policy is
4352
+ # enforced consecutively for its duration period. For example, a queue
4353
+ # might enforce a 60-second policy followed by a 120-second policy,
4354
+ # and then no policy for the remainder of the placement. When updating
4355
+ # policies, provide a complete collection of policies.
4356
+ # @return [Array<Types::PlayerLatencyPolicy>]
4357
+ #
4141
4358
  # @!attribute [rw] destinations
4142
4359
  # List of fleets that can be used to fulfill game session placement
4143
4360
  # requests in the queue. Fleets are identified by either a fleet ARN
4144
4361
  # or a fleet alias ARN. Destinations are listed in default preference
4145
- # order.
4362
+ # order. When updating this list, provide a complete list of
4363
+ # destinations.
4146
4364
  # @return [Array<Types::GameSessionQueueDestination>]
4147
4365
  #
4148
4366
  # @see http://docs.aws.amazon.com/goto/WebAPI/gamelift-2015-10-01/UpdateGameSessionQueueInput AWS API Documentation
@@ -4150,10 +4368,13 @@ module Aws::GameLift
4150
4368
  class UpdateGameSessionQueueInput < Struct.new(
4151
4369
  :name,
4152
4370
  :timeout_in_seconds,
4371
+ :player_latency_policies,
4153
4372
  :destinations)
4154
4373
  include Aws::Structure
4155
4374
  end
4156
4375
 
4376
+ # Represents the returned data in response to a request action.
4377
+ #
4157
4378
  # @!attribute [rw] game_session_queue
4158
4379
  # Object that describes the newly updated game session queue.
4159
4380
  # @return [Types::GameSessionQueue]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-gamelift
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc2
4
+ version: 1.0.0.rc3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-07 00:00:00.000000000 Z
11
+ date: 2017-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core