@aws-sdk/client-gamelift 3.1000.0 → 3.1002.0

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.
Files changed (53) hide show
  1. package/README.md +7 -0
  2. package/dist-cjs/index.js +30 -0
  3. package/dist-cjs/schemas/schemas_0.js +75 -24
  4. package/dist-es/GameLift.js +2 -0
  5. package/dist-es/commands/GetPlayerConnectionDetailsCommand.js +16 -0
  6. package/dist-es/commands/index.js +1 -0
  7. package/dist-es/models/enums.js +13 -0
  8. package/dist-es/schemas/schemas_0.js +69 -18
  9. package/dist-types/GameLift.d.ts +7 -0
  10. package/dist-types/GameLiftClient.d.ts +3 -2
  11. package/dist-types/commands/CreateContainerFleetCommand.d.ts +3 -0
  12. package/dist-types/commands/CreateFleetCommand.d.ts +9 -0
  13. package/dist-types/commands/CreateFleetLocationsCommand.d.ts +1 -0
  14. package/dist-types/commands/CreateGameSessionCommand.d.ts +1 -0
  15. package/dist-types/commands/DeleteFleetLocationsCommand.d.ts +1 -0
  16. package/dist-types/commands/DescribeContainerFleetCommand.d.ts +2 -0
  17. package/dist-types/commands/DescribeFleetAttributesCommand.d.ts +5 -1
  18. package/dist-types/commands/DescribeFleetLocationAttributesCommand.d.ts +1 -0
  19. package/dist-types/commands/DescribeGameSessionDetailsCommand.d.ts +1 -0
  20. package/dist-types/commands/DescribeGameSessionPlacementCommand.d.ts +4 -1
  21. package/dist-types/commands/DescribeGameSessionsCommand.d.ts +1 -0
  22. package/dist-types/commands/DescribeInstancesCommand.d.ts +1 -1
  23. package/dist-types/commands/DescribeMatchmakingCommand.d.ts +1 -0
  24. package/dist-types/commands/GetPlayerConnectionDetailsCommand.d.ts +126 -0
  25. package/dist-types/commands/ListContainerFleetsCommand.d.ts +2 -0
  26. package/dist-types/commands/SearchGameSessionsCommand.d.ts +9 -1
  27. package/dist-types/commands/StartGameSessionPlacementCommand.d.ts +1 -0
  28. package/dist-types/commands/StartMatchBackfillCommand.d.ts +1 -0
  29. package/dist-types/commands/StartMatchmakingCommand.d.ts +1 -0
  30. package/dist-types/commands/StopGameSessionPlacementCommand.d.ts +1 -0
  31. package/dist-types/commands/TerminateGameSessionCommand.d.ts +1 -0
  32. package/dist-types/commands/UpdateContainerFleetCommand.d.ts +2 -0
  33. package/dist-types/commands/UpdateFleetAttributesCommand.d.ts +1 -1
  34. package/dist-types/commands/UpdateFleetCapacityCommand.d.ts +1 -1
  35. package/dist-types/commands/UpdateFleetPortSettingsCommand.d.ts +1 -2
  36. package/dist-types/commands/UpdateGameSessionCommand.d.ts +1 -0
  37. package/dist-types/commands/index.d.ts +1 -0
  38. package/dist-types/models/enums.d.ts +37 -0
  39. package/dist-types/models/models_0.d.ts +293 -173
  40. package/dist-types/models/models_1.d.ts +182 -3
  41. package/dist-types/schemas/schemas_0.d.ts +6 -0
  42. package/dist-types/ts3.4/GameLift.d.ts +17 -0
  43. package/dist-types/ts3.4/GameLiftClient.d.ts +6 -0
  44. package/dist-types/ts3.4/commands/GetPlayerConnectionDetailsCommand.d.ts +51 -0
  45. package/dist-types/ts3.4/commands/UpdateFleetAttributesCommand.d.ts +1 -1
  46. package/dist-types/ts3.4/commands/UpdateFleetCapacityCommand.d.ts +1 -1
  47. package/dist-types/ts3.4/commands/UpdateFleetPortSettingsCommand.d.ts +4 -2
  48. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  49. package/dist-types/ts3.4/models/enums.d.ts +19 -0
  50. package/dist-types/ts3.4/models/models_0.d.ts +35 -32
  51. package/dist-types/ts3.4/models/models_1.d.ts +36 -0
  52. package/dist-types/ts3.4/schemas/schemas_0.d.ts +6 -0
  53. package/package.json +13 -13
@@ -1,4 +1,4 @@
1
- import { AcceptanceType, BackfillMode, BalancingStrategy, BuildStatus, CertificateType, ComparisonOperatorType, ComputeStatus, ComputeType, ContainerDependencyCondition, ContainerFleetBillingType, ContainerFleetLocationStatus, ContainerFleetRemoveAttribute, ContainerFleetStatus, ContainerGroupDefinitionStatus, ContainerGroupType, ContainerMountPointAccessLevel, ContainerOperatingSystem, DeploymentImpairmentStrategy, DeploymentProtectionStrategy, DeploymentStatus, EC2InstanceType, EventCode, FilterInstanceStatus, FleetAction, FleetStatus, FleetType, FlexMatchMode, GameServerClaimStatus, GameServerGroupAction, GameServerGroupDeleteOption, GameServerGroupInstanceType, GameServerGroupStatus, GameServerInstanceStatus, GameServerProtectionPolicy, GameServerUtilizationStatus, GameSessionPlacementState, GameSessionStatus, GameSessionStatusReason, InstanceRoleCredentialsProvider, InstanceStatus, IpProtocol, ListComputeInputStatus, LocationFilter, LocationUpdateStatus, LogDestination, MatchmakingConfigurationStatus, MetricName, OperatingSystem, PlacementFallbackStrategy, PlayerSessionCreationPolicy, PlayerSessionStatus, PolicyType, PriorityType, ProtectionPolicy, RoutingStrategyType, ScalingAdjustmentType, ScalingStatusType, SortOrder, TerminationMode, ZeroCapacityStrategy } from "./enums";
1
+ import { AcceptanceType, BackfillMode, BalancingStrategy, BuildStatus, CertificateType, ComparisonOperatorType, ComputeStatus, ComputeType, ContainerDependencyCondition, ContainerFleetBillingType, ContainerFleetLocationStatus, ContainerFleetRemoveAttribute, ContainerFleetStatus, ContainerGroupDefinitionStatus, ContainerGroupType, ContainerMountPointAccessLevel, ContainerOperatingSystem, DeploymentImpairmentStrategy, DeploymentProtectionStrategy, DeploymentStatus, EC2InstanceType, EventCode, FilterInstanceStatus, FleetAction, FleetStatus, FleetType, FlexMatchMode, GameServerClaimStatus, GameServerGroupAction, GameServerGroupDeleteOption, GameServerGroupInstanceType, GameServerGroupStatus, GameServerInstanceStatus, GameServerIpProtocolSupported, GameServerProtectionPolicy, GameServerUtilizationStatus, GameSessionPlacementState, GameSessionStatus, GameSessionStatusReason, InstanceRoleCredentialsProvider, InstanceStatus, IpProtocol, ListComputeInputStatus, LocationFilter, LocationUpdateStatus, LogDestination, MatchmakingConfigurationStatus, MetricName, OperatingSystem, PlacementFallbackStrategy, PlayerGatewayMode, PlayerGatewayStatus, PlayerSessionCreationPolicy, PlayerSessionStatus, PolicyType, PriorityType, ProtectionPolicy, RoutingStrategyType, ScalingAdjustmentType, ScalingStatusType, SortOrder, TerminationMode, ZeroCapacityStrategy } from "./enums";
2
2
  /**
3
3
  * @public
4
4
  */
@@ -818,6 +818,22 @@ export interface ContainerFleetLocationAttributes {
818
818
  * @public
819
819
  */
820
820
  Status?: ContainerFleetLocationStatus | undefined;
821
+ /**
822
+ * <p>The current status of player gateway in this location for this container fleet. Note, even if a container fleet has PlayerGatewayMode configured as <code>ENABLED</code>, player gateway might not be available in a specific location. For more information about locations where player gateway is supported, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html">Amazon GameLift Servers service locations</a>.</p>
823
+ * <p>Possible values include:</p>
824
+ * <ul>
825
+ * <li>
826
+ * <p>
827
+ * <code>ENABLED</code> -- Player gateway is available for this container fleet location.</p>
828
+ * </li>
829
+ * <li>
830
+ * <p>
831
+ * <code>DISABLED</code> -- Player gateway is not available for this container fleet location.</p>
832
+ * </li>
833
+ * </ul>
834
+ * @public
835
+ */
836
+ PlayerGatewayStatus?: PlayerGatewayStatus | undefined;
821
837
  }
822
838
  /**
823
839
  * <p>A method for collecting container logs for the fleet. Amazon GameLift Servers saves all standard
@@ -1053,6 +1069,12 @@ export interface ContainerFleet {
1053
1069
  * @public
1054
1070
  */
1055
1071
  LocationAttributes?: ContainerFleetLocationAttributes[] | undefined;
1072
+ /**
1073
+ * <p>Indicates whether player gateway is enabled for this container fleet. Player gateway provides benefits such as DDoS protection with negligible impact to latency.</p>
1074
+ * <p>If <code>ENABLED</code> or <code>REQUIRED</code>, game clients can use player gateway to connect with the game server. If <code>DISABLED</code>, game clients cannot use player gateway. Instead, they have to directly connect to the game server.</p>
1075
+ * @public
1076
+ */
1077
+ PlayerGatewayMode?: PlayerGatewayMode | undefined;
1056
1078
  }
1057
1079
  /**
1058
1080
  * <p>A mount point that binds a container to a file or directory on the host system. </p>
@@ -1984,6 +2006,28 @@ export interface CreateContainerFleetInput {
1984
2006
  * @public
1985
2007
  */
1986
2008
  Tags?: Tag[] | undefined;
2009
+ /**
2010
+ * <p>Configures player gateway for your fleet. Player gateway provides benefits such as DDoS protection by rate limiting and validating traffic before it reaches game servers, hiding game server IP addresses from players, and providing updated endpoints when relay endpoints become unhealthy.</p>
2011
+ * <p>
2012
+ * <b>How it works:</b> When enabled, game clients connect to relay endpoints instead of to your game servers. Player gateway validates player gateway tokens and routes traffic to the appropriate game server. Your game backend calls <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetPlayerConnectionDetails.html">GetPlayerConnectionDetails</a> to retrieve relay endpoints and player gateway tokens for your game clients. To learn more about this topic, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/ddos-protection-intro.html">DDoS protection with Amazon GameLift Servers player gateway</a>.</p>
2013
+ * <p>Possible values include:</p>
2014
+ * <ul>
2015
+ * <li>
2016
+ * <p>
2017
+ * <code>DISABLED</code> (default) -- Game clients connect to the game server endpoint. Use this when you do not intend to integrate your game with player gateway.</p>
2018
+ * </li>
2019
+ * <li>
2020
+ * <p>
2021
+ * <code>ENABLED</code> -- Player gateway is available in fleet locations where it is supported. Your game backend can call <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetPlayerConnectionDetails.html">GetPlayerConnectionDetails</a> to obtain a player gateway token and endpoints for game clients.</p>
2022
+ * </li>
2023
+ * <li>
2024
+ * <p>
2025
+ * <code>REQUIRED</code> -- Player gateway is available in fleet locations where it is supported, and the fleet can only use locations that support this feature. Attempting to add a remote location to your fleet which does not support player gateway will result in an <code>InvalidRequestException</code>.</p>
2026
+ * </li>
2027
+ * </ul>
2028
+ * @public
2029
+ */
2030
+ PlayerGatewayMode?: PlayerGatewayMode | undefined;
1987
2031
  }
1988
2032
  /**
1989
2033
  * @public
@@ -2301,6 +2345,17 @@ export interface CreateContainerGroupDefinitionOutput {
2301
2345
  */
2302
2346
  ContainerGroupDefinition?: ContainerGroupDefinition | undefined;
2303
2347
  }
2348
+ /**
2349
+ * <p>Configuration settings for player gateway. Use these settings to specify advanced options for how player gateway handles connections.</p>
2350
+ * @public
2351
+ */
2352
+ export interface PlayerGatewayConfiguration {
2353
+ /**
2354
+ * <p>The IP protocol that your game servers support for player connections through player gateway. If the value is set to <code>IPv4</code>, GameLift will install and execute a lightweight IP translation software on fleet instances to receive and transform incoming IPv6 traffic to IPv4. If the value is set to <code>DUAL_STACK</code>, the lightweight IP translation software will not be installed on fleet instances. <code>DUAL_STACK</code> provides slightly better performance than <code>IPv4</code>.</p>
2355
+ * @public
2356
+ */
2357
+ GameServerIpProtocolSupported?: GameServerIpProtocolSupported | undefined;
2358
+ }
2304
2359
  /**
2305
2360
  * <p>A policy that puts limits on the number of game sessions that a player can create
2306
2361
  * within a specified span of time. With this policy, you can control players' ability to
@@ -2635,6 +2690,33 @@ export interface CreateFleetInput {
2635
2690
  * @public
2636
2691
  */
2637
2692
  InstanceRoleCredentialsProvider?: InstanceRoleCredentialsProvider | undefined;
2693
+ /**
2694
+ * <p>Configures player gateway for your fleet. Player gateway provides benefits such as DDoS protection by rate limiting and validating traffic before it reaches game servers, hiding game server IP addresses from players, and providing updated endpoints when relay endpoints become unhealthy. Note, player gateway is only available for fleets using server SDK 5.x or later game server builds.</p>
2695
+ * <p>
2696
+ * <b>How it works:</b> When enabled, game clients connect to relay endpoints instead of to your game servers. Player gateway validates player gateway tokens and routes traffic to the appropriate game server. Your game backend calls <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetPlayerConnectionDetails.html">GetPlayerConnectionDetails</a> to retrieve relay endpoints and player gateway tokens for your game clients. To learn more about this topic, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/ddos-protection-intro.html">DDoS protection with Amazon GameLift Servers player gateway</a>.</p>
2697
+ * <p>Possible values include:</p>
2698
+ * <ul>
2699
+ * <li>
2700
+ * <p>
2701
+ * <code>DISABLED</code> (default) -- Game clients connect to the game server endpoint. Use this when you do not intend to integrate your game with player gateway.</p>
2702
+ * </li>
2703
+ * <li>
2704
+ * <p>
2705
+ * <code>ENABLED</code> -- Player gateway is available in fleet locations where it is supported. Your game backend can call <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetPlayerConnectionDetails.html">GetPlayerConnectionDetails</a> to obtain a player gateway token and endpoints for game clients.</p>
2706
+ * </li>
2707
+ * <li>
2708
+ * <p>
2709
+ * <code>REQUIRED</code> -- Player gateway is available in fleet locations where it is supported, and the fleet can only use locations that support this feature. Attempting to add a remote location to your fleet which does not support player gateway will result in an <code>InvalidRequestException</code>.</p>
2710
+ * </li>
2711
+ * </ul>
2712
+ * @public
2713
+ */
2714
+ PlayerGatewayMode?: PlayerGatewayMode | undefined;
2715
+ /**
2716
+ * <p>Configuration settings for player gateway. Use this to specify advanced options for how player gateway handles connections.</p>
2717
+ * @public
2718
+ */
2719
+ PlayerGatewayConfiguration?: PlayerGatewayConfiguration | undefined;
2638
2720
  }
2639
2721
  /**
2640
2722
  * <p>Describes an Amazon GameLift Servers fleet of game hosting resources. Attributes differ based on
@@ -2889,6 +2971,17 @@ export interface FleetAttributes {
2889
2971
  * @public
2890
2972
  */
2891
2973
  InstanceRoleCredentialsProvider?: InstanceRoleCredentialsProvider | undefined;
2974
+ /**
2975
+ * <p>Indicates whether player gateway is enabled for this fleet. Player gateway provides benefits such as DDoS protection with negligible impact to latency.</p>
2976
+ * <p>If <code>ENABLED</code> or <code>REQUIRED</code>, game clients can use player gateway to connect with the game server. If <code>DISABLED</code>, game clients cannot use player gateway. Instead, they have to directly connect to the game server.</p>
2977
+ * @public
2978
+ */
2979
+ PlayerGatewayMode?: PlayerGatewayMode | undefined;
2980
+ /**
2981
+ * <p>Configuration settings for player gateway on this fleet.</p>
2982
+ * @public
2983
+ */
2984
+ PlayerGatewayConfiguration?: PlayerGatewayConfiguration | undefined;
2892
2985
  }
2893
2986
  /**
2894
2987
  * <p>A fleet location and its life-cycle state. A location state object might be used to
@@ -2947,6 +3040,22 @@ export interface LocationState {
2947
3040
  * @public
2948
3041
  */
2949
3042
  Status?: FleetStatus | undefined;
3043
+ /**
3044
+ * <p>The current status of player gateway in this location for this fleet. Note, even if a fleet has PlayerGatewayMode configured as <code>ENABLED</code>, player gateway might not be available in a specific location. For more information about locations where player gateway is supported, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html">Amazon GameLift Servers service locations</a>.</p>
3045
+ * <p>Possible values include:</p>
3046
+ * <ul>
3047
+ * <li>
3048
+ * <p>
3049
+ * <code>ENABLED</code> -- Player gateway is available for this fleet location.</p>
3050
+ * </li>
3051
+ * <li>
3052
+ * <p>
3053
+ * <code>DISABLED</code> -- Player gateway is not available for this fleet location.</p>
3054
+ * </li>
3055
+ * </ul>
3056
+ * @public
3057
+ */
3058
+ PlayerGatewayStatus?: PlayerGatewayStatus | undefined;
2950
3059
  }
2951
3060
  /**
2952
3061
  * @public
@@ -3411,7 +3520,14 @@ export interface GameProperty {
3411
3520
  /**
3412
3521
  * <p>The game property identifier.</p>
3413
3522
  * <note>
3414
- * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
3523
+ * <ul>
3524
+ * <li>
3525
+ * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
3526
+ * </li>
3527
+ * <li>
3528
+ * <p>If you use SearchGameSessions API, there is a limit of 500 game property keys across all game sessions and all fleets per region. If the limit is exceeded, there will potentially be game session entries missing from SearchGameSessions API results.</p>
3529
+ * </li>
3530
+ * </ul>
3415
3531
  * </note>
3416
3532
  * @public
3417
3533
  */
@@ -3455,7 +3571,14 @@ export interface CreateGameSessionInput {
3455
3571
  * For an example, see <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#game-properties-create">Create a game session with custom properties</a>.
3456
3572
  * </p>
3457
3573
  * <note>
3458
- * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
3574
+ * <ul>
3575
+ * <li>
3576
+ * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
3577
+ * </li>
3578
+ * <li>
3579
+ * <p>If you use SearchGameSessions API, there is a limit of 500 game property keys across all game sessions and all fleets per region. If the limit is exceeded, there will potentially be game session entries missing from SearchGameSessions API results.</p>
3580
+ * </li>
3581
+ * </ul>
3459
3582
  * </note>
3460
3583
  * @public
3461
3584
  */
@@ -3602,7 +3725,14 @@ export interface GameSession {
3602
3725
  * <p>A set of key-value pairs that can store custom data in a game session.
3603
3726
  * For example: <code>\{"Key": "difficulty", "Value": "novice"\}</code>.</p>
3604
3727
  * <note>
3605
- * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
3728
+ * <ul>
3729
+ * <li>
3730
+ * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
3731
+ * </li>
3732
+ * <li>
3733
+ * <p>If you use SearchGameSessions API, there is a limit of 500 game property keys across all game sessions and all fleets per region. If the limit is exceeded, there will potentially be game session entries missing from SearchGameSessions API results.</p>
3734
+ * </li>
3735
+ * </ul>
3606
3736
  * </note>
3607
3737
  * @public
3608
3738
  */
@@ -3666,6 +3796,22 @@ export interface GameSession {
3666
3796
  * @public
3667
3797
  */
3668
3798
  Location?: string | undefined;
3799
+ /**
3800
+ * <p>Indicates whether player gateway is available for use for this game session. Note, even if a fleet has PlayerGatewayMode configured as <code>ENABLED</code>, player gateway might not be available in a specific location. For more information about locations where player gateway is supported, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html">Amazon GameLift Servers service locations</a>.</p>
3801
+ * <p>Possible values include:</p>
3802
+ * <ul>
3803
+ * <li>
3804
+ * <p>
3805
+ * <code>ENABLED</code> -- Player gateway is available for routing player connections for this game session.</p>
3806
+ * </li>
3807
+ * <li>
3808
+ * <p>
3809
+ * <code>DISABLED</code> -- Player gateway is not available for this game session.</p>
3810
+ * </li>
3811
+ * </ul>
3812
+ * @public
3813
+ */
3814
+ PlayerGatewayStatus?: PlayerGatewayStatus | undefined;
3669
3815
  }
3670
3816
  /**
3671
3817
  * @public
@@ -4096,7 +4242,14 @@ export interface CreateMatchmakingConfigurationInput {
4096
4242
  * created for a successful match. This parameter is not used if <code>FlexMatchMode</code>
4097
4243
  * is set to <code>STANDALONE</code>.</p>
4098
4244
  * <note>
4099
- * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
4245
+ * <ul>
4246
+ * <li>
4247
+ * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
4248
+ * </li>
4249
+ * <li>
4250
+ * <p>If you use SearchGameSessions API, there is a limit of 500 game property keys across all game sessions and all fleets per region. If the limit is exceeded, there will potentially be game session entries missing from SearchGameSessions API results.</p>
4251
+ * </li>
4252
+ * </ul>
4100
4253
  * </note>
4101
4254
  * @public
4102
4255
  */
@@ -4239,7 +4392,14 @@ export interface MatchmakingConfiguration {
4239
4392
  * created for a successful match. This parameter is not used when
4240
4393
  * <code>FlexMatchMode</code> is set to <code>STANDALONE</code>.</p>
4241
4394
  * <note>
4242
- * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
4395
+ * <ul>
4396
+ * <li>
4397
+ * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
4398
+ * </li>
4399
+ * <li>
4400
+ * <p>If you use SearchGameSessions API, there is a limit of 500 game property keys across all game sessions and all fleets per region. If the limit is exceeded, there will potentially be game session entries missing from SearchGameSessions API results.</p>
4401
+ * </li>
4402
+ * </ul>
4243
4403
  * </note>
4244
4404
  * @public
4245
4405
  */
@@ -6732,7 +6892,14 @@ export interface GameSessionPlacement {
6732
6892
  * <p>A set of key-value pairs that can store custom data in a game session.
6733
6893
  * For example: <code>\{"Key": "difficulty", "Value": "novice"\}</code>.</p>
6734
6894
  * <note>
6735
- * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
6895
+ * <ul>
6896
+ * <li>
6897
+ * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
6898
+ * </li>
6899
+ * <li>
6900
+ * <p>If you use SearchGameSessions API, there is a limit of 500 game property keys across all game sessions and all fleets per region. If the limit is exceeded, there will potentially be game session entries missing from SearchGameSessions API results.</p>
6901
+ * </li>
6902
+ * </ul>
6736
6903
  * </note>
6737
6904
  * @public
6738
6905
  */
@@ -6840,6 +7007,22 @@ export interface GameSessionPlacement {
6840
7007
  * @public
6841
7008
  */
6842
7009
  PriorityConfigurationOverride?: PriorityConfigurationOverride | undefined;
7010
+ /**
7011
+ * <p>The current status of player gateway for the game session placement. Note, even if a fleet has PlayerGatewayMode configured as <code>ENABLED</code>, player gateway might not be available in a specific location. For more information about locations where player gateway is supported, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html">Amazon GameLift Servers service locations</a>.</p>
7012
+ * <p>Possible values include:</p>
7013
+ * <ul>
7014
+ * <li>
7015
+ * <p>
7016
+ * <code>ENABLED</code> -- Player gateway is available for this game session placement.</p>
7017
+ * </li>
7018
+ * <li>
7019
+ * <p>
7020
+ * <code>DISABLED</code> -- Player gateway is not available for this game session placement.</p>
7021
+ * </li>
7022
+ * </ul>
7023
+ * @public
7024
+ */
7025
+ PlayerGatewayStatus?: PlayerGatewayStatus | undefined;
6843
7026
  }
6844
7027
  /**
6845
7028
  * @public
@@ -7173,6 +7356,22 @@ export interface GameSessionConnectionInfo {
7173
7356
  * @public
7174
7357
  */
7175
7358
  MatchedPlayerSessions?: MatchedPlayerSession[] | undefined;
7359
+ /**
7360
+ * <p>The current status of player gateway for the game session. Note, even if a fleet has PlayerGatewayMode configured as <code>ENABLED</code>, player gateway might not be available in a specific location. For more information about locations where player gateway is supported, see <a href="https://docs.aws.amazon.com/gameliftservers/latest/developerguide/gamelift-regions.html">supported locations</a>.</p>
7361
+ * <p>Possible values include:</p>
7362
+ * <ul>
7363
+ * <li>
7364
+ * <p>
7365
+ * <code>ENABLED</code> -- Player gateway is available for this game session.</p>
7366
+ * </li>
7367
+ * <li>
7368
+ * <p>
7369
+ * <code>DISABLED</code> -- Player gateway is not available for this game session.</p>
7370
+ * </li>
7371
+ * </ul>
7372
+ * @public
7373
+ */
7374
+ PlayerGatewayStatus?: PlayerGatewayStatus | undefined;
7176
7375
  }
7177
7376
  /**
7178
7377
  * <p>Represents a player in matchmaking. When starting a matchmaking request, a player has
@@ -8214,6 +8413,85 @@ export interface GetInstanceAccessOutput {
8214
8413
  */
8215
8414
  InstanceAccess?: InstanceAccess | undefined;
8216
8415
  }
8416
+ /**
8417
+ * @public
8418
+ */
8419
+ export interface GetPlayerConnectionDetailsInput {
8420
+ /**
8421
+ * <p>A unique identifier for the game session for which to retrieve player connection details.</p>
8422
+ * @public
8423
+ */
8424
+ GameSessionId: string | undefined;
8425
+ /**
8426
+ * <p>List of unique identifiers for players. Connection details are returned for each player in this list.</p>
8427
+ * @public
8428
+ */
8429
+ PlayerIds: string[] | undefined;
8430
+ }
8431
+ /**
8432
+ * <p>Network address(es) and port(s) for connecting to a game session. </p>
8433
+ * @public
8434
+ */
8435
+ export interface PlayerConnectionEndpoint {
8436
+ /**
8437
+ * <p>IP address for connecting to the game session. When player gateway is enabled, this is a player gateway IP address. When player gateway is disabled, this is the game server IP address.</p>
8438
+ * @public
8439
+ */
8440
+ IpAddress?: string | undefined;
8441
+ /**
8442
+ * <p>Port number for connecting to the game session. When player gateway is enabled, this is a player gateway port. When player gateway is disabled, this is the game server port.</p>
8443
+ * @public
8444
+ */
8445
+ Port?: number | undefined;
8446
+ }
8447
+ /**
8448
+ * <p>Connection information for a game client to connect to a game session. This object contains the IP address(es), port(s), and authentication details your game client needs to establish a connection.</p>
8449
+ * <p>
8450
+ * <b>With player gateway enabled:</b> Contains relay endpoints and a player gateway token. Your game client must prepend player gateway token to each payload for validation and connection through relay endpoints.</p>
8451
+ * <p>
8452
+ * <b>With player gateway disabled:</b> Contains game server endpoint. Player gateway token and expiration fields are empty.</p>
8453
+ * @public
8454
+ */
8455
+ export interface PlayerConnectionDetail {
8456
+ /**
8457
+ * <p>A unique identifier for a player associated with this connection.</p>
8458
+ * @public
8459
+ */
8460
+ PlayerId?: string | undefined;
8461
+ /**
8462
+ * <p>List of connection endpoints for the game client. Your game client uses these IP address(es) and port(s) to connect to the game session.</p>
8463
+ * <p>When player gateway is enabled, these are relay endpoints with benefits such as DDoS protection. When disabled, this is the game server endpoint.</p>
8464
+ * @public
8465
+ */
8466
+ Endpoints?: PlayerConnectionEndpoint[] | undefined;
8467
+ /**
8468
+ * <p>Access token that your game client must prepend to all traffic sent through player gateway. Player gateway verifies identity and authorizes connection based on this token.</p>
8469
+ * <p>This value is empty when player gateway is disabled.</p>
8470
+ * @public
8471
+ */
8472
+ PlayerGatewayToken?: string | undefined;
8473
+ /**
8474
+ * <p>When player gateway is enabled, this is the timestamp indicating when player gateway token expires. Your game backend should call <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_GetPlayerConnectionDetails.html">GetPlayerConnectionDetails</a> to retrieve fresh connection information for your game clients before this time. Format is a number expressed in Unix time as milliseconds (for example <code>"1469498468.057"</code>). </p>
8475
+ * <p>This value is empty when player gateway is disabled.</p>
8476
+ * @public
8477
+ */
8478
+ Expiration?: Date | undefined;
8479
+ }
8480
+ /**
8481
+ * @public
8482
+ */
8483
+ export interface GetPlayerConnectionDetailsOutput {
8484
+ /**
8485
+ * <p>A unique identifier for the game session for which the player connection details were retrieved.</p>
8486
+ * @public
8487
+ */
8488
+ GameSessionId?: string | undefined;
8489
+ /**
8490
+ * <p>A collection of player connection detail objects, one for each requested player.</p>
8491
+ * @public
8492
+ */
8493
+ PlayerConnectionDetails?: PlayerConnectionDetail[] | undefined;
8494
+ }
8217
8495
  /**
8218
8496
  * @public
8219
8497
  */
@@ -9283,7 +9561,14 @@ export interface StartGameSessionPlacementInput {
9283
9561
  * <p>A set of key-value pairs that can store custom data in a game session.
9284
9562
  * For example: <code>\{"Key": "difficulty", "Value": "novice"\}</code>.</p>
9285
9563
  * <note>
9286
- * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
9564
+ * <ul>
9565
+ * <li>
9566
+ * <p>Avoid using periods (".") in property keys if you plan to search for game sessions by properties. Property keys containing periods cannot be searched and will be filtered out from search results due to search index limitations.</p>
9567
+ * </li>
9568
+ * <li>
9569
+ * <p>If you use SearchGameSessions API, there is a limit of 500 game property keys across all game sessions and all fleets per region. If the limit is exceeded, there will potentially be game session entries missing from SearchGameSessions API results.</p>
9570
+ * </li>
9571
+ * </ul>
9287
9572
  * </note>
9288
9573
  * @public
9289
9574
  */
@@ -9911,168 +10196,3 @@ export interface UpdateContainerGroupDefinitionOutput {
9911
10196
  */
9912
10197
  ContainerGroupDefinition?: ContainerGroupDefinition | undefined;
9913
10198
  }
9914
- /**
9915
- * @public
9916
- */
9917
- export interface UpdateFleetAttributesInput {
9918
- /**
9919
- * <p>A unique identifier for the fleet to update attribute metadata for. You can use either the fleet ID or ARN
9920
- * value.</p>
9921
- * @public
9922
- */
9923
- FleetId: string | undefined;
9924
- /**
9925
- * <p>A descriptive label that is associated with a fleet. Fleet names do not need to be unique.</p>
9926
- * @public
9927
- */
9928
- Name?: string | undefined;
9929
- /**
9930
- * <p>A human-readable description of a fleet.</p>
9931
- * @public
9932
- */
9933
- Description?: string | undefined;
9934
- /**
9935
- * <p>The game session protection policy to apply to all new game sessions created in this
9936
- * fleet. Game sessions that already exist are not affected. You can set protection for
9937
- * individual game sessions using <a href="https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSession.html">UpdateGameSession</a> .</p>
9938
- * <ul>
9939
- * <li>
9940
- * <p>
9941
- * <b>NoProtection</b> -- The game session can be
9942
- * terminated during a scale-down event.</p>
9943
- * </li>
9944
- * <li>
9945
- * <p>
9946
- * <b>FullProtection</b> -- If the game session is in an
9947
- * <code>ACTIVE</code> status, it cannot be terminated during a scale-down
9948
- * event.</p>
9949
- * </li>
9950
- * </ul>
9951
- * @public
9952
- */
9953
- NewGameSessionProtectionPolicy?: ProtectionPolicy | undefined;
9954
- /**
9955
- * <p>Policy settings that limit the number of game sessions an individual player can create
9956
- * over a span of time. </p>
9957
- * @public
9958
- */
9959
- ResourceCreationLimitPolicy?: ResourceCreationLimitPolicy | undefined;
9960
- /**
9961
- * <p>The name of a metric group to add this fleet to. Use a metric group in Amazon
9962
- * CloudWatch to aggregate the metrics from multiple fleets. Provide an existing metric
9963
- * group name, or create a new metric group by providing a new name. A fleet can only be in
9964
- * one metric group at a time.</p>
9965
- * @public
9966
- */
9967
- MetricGroups?: string[] | undefined;
9968
- /**
9969
- * <p>Amazon GameLift Servers Anywhere configuration options.</p>
9970
- * @public
9971
- */
9972
- AnywhereConfiguration?: AnywhereConfiguration | undefined;
9973
- }
9974
- /**
9975
- * @public
9976
- */
9977
- export interface UpdateFleetAttributesOutput {
9978
- /**
9979
- * <p>A unique identifier for the fleet that was updated.</p>
9980
- * @public
9981
- */
9982
- FleetId?: string | undefined;
9983
- /**
9984
- * <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to a Amazon GameLift Servers fleet resource and uniquely identifies it. ARNs are unique across all Regions. Format is <code>arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>.</p>
9985
- * @public
9986
- */
9987
- FleetArn?: string | undefined;
9988
- }
9989
- /**
9990
- * @public
9991
- */
9992
- export interface UpdateFleetCapacityInput {
9993
- /**
9994
- * <p>A unique identifier for the fleet to update capacity settings for. You can use either the fleet ID or ARN
9995
- * value.</p>
9996
- * @public
9997
- */
9998
- FleetId: string | undefined;
9999
- /**
10000
- * <p>The number of Amazon EC2 instances you want to maintain in the specified fleet location.
10001
- * This value must fall between the minimum and maximum size limits. Changes in desired
10002
- * instance value can take up to 1 minute to be reflected when viewing the fleet's capacity
10003
- * settings.</p>
10004
- * @public
10005
- */
10006
- DesiredInstances?: number | undefined;
10007
- /**
10008
- * <p>The minimum number of instances that are allowed in the specified fleet location. If
10009
- * this parameter is not set, the default is 0. This parameter cannot be set when using a
10010
- * ManagedCapacityConfiguration where ZeroCapacityStrategy has a value of SCALE_TO_AND_FROM_ZERO.</p>
10011
- * @public
10012
- */
10013
- MinSize?: number | undefined;
10014
- /**
10015
- * <p>The maximum number of instances that are allowed in the specified fleet location. If
10016
- * this parameter is not set, the default is 1.</p>
10017
- * @public
10018
- */
10019
- MaxSize?: number | undefined;
10020
- /**
10021
- * <p>The name of a remote location to update fleet capacity settings for, in the form of an
10022
- * Amazon Web Services Region code such as <code>us-west-2</code>.</p>
10023
- * @public
10024
- */
10025
- Location?: string | undefined;
10026
- /**
10027
- * <p>Configuration for Amazon GameLift Servers-managed capacity scaling options.</p>
10028
- * @public
10029
- */
10030
- ManagedCapacityConfiguration?: ManagedCapacityConfiguration | undefined;
10031
- }
10032
- /**
10033
- * @public
10034
- */
10035
- export interface UpdateFleetCapacityOutput {
10036
- /**
10037
- * <p>A unique identifier for the fleet that was updated.</p>
10038
- * @public
10039
- */
10040
- FleetId?: string | undefined;
10041
- /**
10042
- * <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to a Amazon GameLift Servers fleet resource and uniquely identifies it. ARNs are unique across all Regions. Format is <code>arn:aws:gamelift:<region>::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912</code>. </p>
10043
- * @public
10044
- */
10045
- FleetArn?: string | undefined;
10046
- /**
10047
- * <p>The remote location being updated, expressed as an Amazon Web Services Region code, such as
10048
- * <code>us-west-2</code>.</p>
10049
- * @public
10050
- */
10051
- Location?: string | undefined;
10052
- /**
10053
- * <p>Configuration for Amazon GameLift Servers-managed capacity scaling options.</p>
10054
- * @public
10055
- */
10056
- ManagedCapacityConfiguration?: ManagedCapacityConfiguration | undefined;
10057
- }
10058
- /**
10059
- * @public
10060
- */
10061
- export interface UpdateFleetPortSettingsInput {
10062
- /**
10063
- * <p>A unique identifier for the fleet to update port settings for. You can use either the fleet ID or ARN
10064
- * value.</p>
10065
- * @public
10066
- */
10067
- FleetId: string | undefined;
10068
- /**
10069
- * <p>A collection of port settings to be added to the fleet resource.</p>
10070
- * @public
10071
- */
10072
- InboundPermissionAuthorizations?: IpPermission[] | undefined;
10073
- /**
10074
- * <p>A collection of port settings to be removed from the fleet resource.</p>
10075
- * @public
10076
- */
10077
- InboundPermissionRevocations?: IpPermission[] | undefined;
10078
- }