def create_player_session(GameSessionId=None, PlayerId=None, PlayerData=None):
    """
    Adds a player to a game session and creates a player session record. Before a player can be added, a game session must have an ACTIVE status, have a creation policy of ALLOW_ALL , and have an open player slot. To add a group of players to a game session, use  CreatePlayerSessions .
    To create a player session, specify a game session ID, player ID, and optionally a string of player data. If successful, the player is added to the game session and a new  PlayerSession object is returned. Player sessions cannot be updated.
    See also: AWS API Documentation
    
    
    :example: response = client.create_player_session(
        GameSessionId='string',
        PlayerId='string',
        PlayerData='string'
    )
    
    
    :type GameSessionId: string
    :param GameSessionId: [REQUIRED]
            Unique identifier for the game session to add a player to.
            

    :type PlayerId: string
    :param PlayerId: [REQUIRED]
            Unique identifier for a player. Player IDs are developer-defined.
            

    :type PlayerData: string
    :param PlayerData: Developer-defined information related to a player. Amazon GameLift does not use this data, so it can be formatted as needed for use in the game.

    :rtype: dict
    :return: {
        'PlayerSession': {
            'PlayerSessionId': 'string',
            'PlayerId': 'string',
            'GameSessionId': 'string',
            'FleetId': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'TerminationTime': datetime(2015, 1, 1),
            'Status': 'RESERVED'|'ACTIVE'|'COMPLETED'|'TIMEDOUT',
            'IpAddress': 'string',
            'Port': 123,
            'PlayerData': 'string'
        }
    }
    
    
    :returns: 
    RESERVED  The player session request has been received, but the player has not yet connected to the server process and/or been validated.
    ACTIVE  The player has been validated by the server process and is currently connected.
    COMPLETED  The player connection has been dropped.
    TIMEDOUT  A player session request was received, but the player did not connect and/or was not validated within the time-out limit (60 seconds).
    
    """
    pass
