Module Values.GameSessionPlacementSource

Represents a potential game session placement, including the full details of the original placement request and the current status. If the game session placement status is PENDING, the properties for game session ID/ARN, region, IP address/DNS, and port aren't final. A game session is not active and ready to accept players until placement status reaches FULFILLED. When the placement is in PENDING status, Amazon GameLift Servers may attempt to place a game session multiple times before succeeding. With each attempt it creates a https://docs.aws.amazon.com/gamelift/latest/apireference/API_GameSession object and updates this placement object with the new game session properties.

Sourcetype nonrec t = {
  1. placementId : IdStringModel.t option;
    (*

    A unique identifier for a game session placement.

    *)
  2. gameSessionQueueName : GameSessionQueueName.t option;
    (*

    A descriptive label that is associated with game session queue. Queue names must be unique within each Region.

    *)
  3. status : GameSessionPlacementState.t option;
    (*

    Current status of the game session placement request. PENDING -- The placement request is in the queue waiting to be processed. Game session properties are not yet final. FULFILLED -- A new game session has been successfully placed. Game session properties are now final. CANCELLED -- The placement request was canceled. TIMED_OUT -- A new game session was not successfully created before the time limit expired. You can resubmit the placement request as needed. FAILED -- Amazon GameLift Servers is not able to complete the process of placing the game session. Common reasons are the game session terminated before the placement process was completed, or an unexpected internal error.

    *)
  4. gameProperties : GamePropertyList.t option;
    (*

    A set of key-value pairs that can store custom data in a game session. For example: {"Key": "difficulty", "Value": "novice"}. 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. 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.

    *)
  5. maximumPlayerSessionCount : WholeNumber.t option;
    (*

    The maximum number of players that can be connected simultaneously to the game session.

    *)
  6. gameSessionName : NonZeroAndMaxString.t option;
    (*

    A descriptive label that is associated with a game session. Session names do not need to be unique.

    *)
  7. gameSessionId : NonZeroAndMaxString.t option;
    (*

    An identifier for the game session that is unique across all regions. The value is always a full ARN in the following format: arn:aws:gamelift:<location>::gamesession/<fleet ID>/<ID string>. This value is the same as GameSessionArn. This value isn't final until placement status is FULFILLED.

    *)
  8. gameSessionArn : NonZeroAndMaxString.t option;
    (*

    An identifier for the game session that is unique across all regions. The value is always a full ARN in the following format: arn:aws:gamelift:<location>::gamesession/<fleet ID>/<ID string>. This value is the same as GameSessionId. This value isn't final until placement status is FULFILLED.

    *)
  9. gameSessionRegion : NonZeroAndMaxString.t option;
    (*

    Name of the Region where the game session created by this placement request is running. This value isn't final until placement status is FULFILLED.

    *)
  10. playerLatencies : PlayerLatencyList.t option;
    (*

    A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to Amazon Web Services Regions.

    *)
  11. startTime : Timestamp.t option;
    (*

    Time stamp indicating when this request was placed in the queue. Format is a number expressed in Unix time as milliseconds (for example "1469498468.057").

    *)
  12. endTime : Timestamp.t option;
    (*

    Time stamp indicating when this request was completed, canceled, or timed out.

    *)
  13. ipAddress : IpAddress.t option;
    (*

    The IP address of the game session. To connect to a Amazon GameLift Servers game server, an app needs both the IP address and port number. This value isn't final until placement status is FULFILLED.

    *)
  14. dnsName : DnsName.t option;
    (*

    The DNS identifier assigned to the instance that is running the game session. Values have the following format: TLS-enabled fleets: <unique identifier>.<region identifier>.amazongamelift.com. Non-TLS-enabled fleets: ec2-<unique identifier>.compute.amazonaws.com. (See Amazon EC2 Instance IP Addressing.) When connecting to a game session that is running on a TLS-enabled fleet, you must use the DNS name, not the IP address.

    *)
  15. port : PortNumber.t option;
    (*

    The port number for the game session. To connect to a Amazon GameLift Servers game server, an app needs both the IP address and port number. This value isn't final until placement status is FULFILLED.

    *)
  16. placedPlayerSessions : PlacedPlayerSessionList.t option;
    (*

    A collection of information on player sessions created in response to the game session placement request. These player sessions are created only after a new game session is successfully placed (placement status is FULFILLED). This information includes the player ID, provided in the placement request, and a corresponding player session ID.

    *)
  17. gameSessionData : LargeGameSessionData.t option;
    (*

    A set of custom game session properties, formatted as a single string value. This data is passed to a game server process with a request to start a new game session. For more information, see Start a game session.

    *)
  18. matchmakerData : MatchmakerData.t option;
    (*

    Information on the matchmaking process for this game. Data is in JSON syntax, formatted as a string. It identifies the matchmaking configuration used to create the match, and contains data on all players assigned to the match, including player attributes and team assignments. For more details on matchmaker data, see Match Data.

    *)
  19. priorityConfigurationOverride : PriorityConfigurationOverride.t option;
    (*

    An alternative priority list of locations that's included with a game session placement request. When provided, the list overrides a queue's location order list for this game session placement request only. The list might include Amazon Web Services Regions, local zones, and custom locations (for Anywhere fleets). The fallback strategy tells Amazon GameLift Servers what action to take (if any) in the event that it failed to place a new game session.

    *)
  20. playerGatewayStatus : PlayerGatewayStatus.t option;
    (*

    The current status of player gateway for the game session placement. Note, even if a fleet has PlayerGatewayMode configured as ENABLED, player gateway might not be available in a specific location. For more information about locations where player gateway is supported, see Amazon GameLift Servers service locations. Possible values include: ENABLED -- Player gateway is available for this game session placement. DISABLED -- Player gateway is not available for this game session placement.

    *)
}
Sourceval make : ?placementId:??? -> ?gameSessionQueueName:??? -> ?status:??? -> ?gameProperties:??? -> ?maximumPlayerSessionCount:??? -> ?gameSessionName:??? -> ?gameSessionId:??? -> ?gameSessionArn:??? -> ?gameSessionRegion:??? -> ?playerLatencies:??? -> ?startTime:??? -> ?endTime:??? -> ?ipAddress:??? -> ?dnsName:??? -> ?port:??? -> ?placedPlayerSessions:??? -> ?gameSessionData:??? -> ?matchmakerData:??? -> ?priorityConfigurationOverride:??? -> ?playerGatewayStatus:??? -> unit -> t
Sourceval to_value : t -> [> `Structure of (string * [> `Enum of string | `Integer of WholeNumber.t | `List of [> `Structure of (string * [> `Float of Float_.t | `String of GamePropertyKey.t ]) list ] list | `String of IdStringModel.t | `Structure of (string * [> `Enum of string | `List of [> `String of LocationStringModel.t ] list ]) list | `Timestamp of Timestamp.t ]) list ]
Sourceval to_query : t -> Awso.Client.Query.t
Sourceval of_xml : Awso.Xml.t -> t
Sourceval of_string : string -> t
Sourceval of_json : Yojson.Safe.t -> t
Sourceval to_json : t -> Yojson.Safe.t