def list_datasets(IdentityPoolId=None, IdentityId=None, NextToken=None,
    MaxResults=None):
    """
    Lists datasets for an identity. With Amazon Cognito Sync, each identity has access only to its own data. Thus, the credentials used to make this API call need to have access to the identity data.
    ListDatasets can be called with temporary user credentials provided by Cognito Identity or with developer credentials. You should use the Cognito Identity credentials to make this API call.
    See also: AWS API Documentation
    
    
    :example: response = client.list_datasets(
        IdentityPoolId='string',
        IdentityId='string',
        NextToken='string',
        MaxResults=123
    )
    
    
    :type IdentityPoolId: string
    :param IdentityPoolId: [REQUIRED] A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

    :type IdentityId: string
    :param IdentityId: [REQUIRED] A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.

    :type NextToken: string
    :param NextToken: A pagination token for obtaining the next page of results.

    :type MaxResults: integer
    :param MaxResults: The maximum number of results to be returned.

    :rtype: dict
    :return: {
        'Datasets': [
            {
                'IdentityId': 'string',
                'DatasetName': 'string',
                'CreationDate': datetime(2015, 1, 1),
                'LastModifiedDate': datetime(2015, 1, 1),
                'LastModifiedBy': 'string',
                'DataStorage': 123,
                'NumRecords': 123
            },
        ],
        'Count': 123,
        'NextToken': 'string'
    }
    
    
    :returns: 
    (dict) -- Returned for a successful ListDatasets request.
    Datasets (list) -- A set of datasets.
    (dict) -- A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don't exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs.
    IdentityId (string) -- A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
    DatasetName (string) -- A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, '_' (underscore), '-' (dash), and '.' (dot).
    CreationDate (datetime) -- Date on which the dataset was created.
    LastModifiedDate (datetime) -- Date when the dataset was last modified.
    LastModifiedBy (string) -- The device that made the last change to this dataset.
    DataStorage (integer) -- Total size in bytes of the records in this dataset.
    NumRecords (integer) -- Number of records in this dataset.
    
    
    
    
    Count (integer) -- Number of datasets returned.
    NextToken (string) -- A pagination token for obtaining the next page of results.
    
    
    
    """
    pass
