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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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