def describe_data_sources(FilterVariable=None, EQ=None, GT=None, LT=None,
    GE=None, LE=None, NE=None, Prefix=None, SortOrder=None, NextToken=None,
    Limit=None):
    """
    Returns a list of DataSource that match the search criteria in the request.
    See also: AWS API Documentation
    
    
    :example: response = client.describe_data_sources(
        FilterVariable='CreatedAt'|'LastUpdatedAt'|'Status'|'Name'|'DataLocationS3'|'IAMUser',
        EQ='string',
        GT='string',
        LT='string',
        GE='string',
        LE='string',
        NE='string',
        Prefix='string',
        SortOrder='asc'|'dsc',
        NextToken='string',
        Limit=123
    )
    
    
    :type FilterVariable: string
    :param FilterVariable: Use one of the following variables to filter a list of DataSource :
            CreatedAt - Sets the search criteria to DataSource creation dates.
            Status - Sets the search criteria to DataSource statuses.
            Name - Sets the search criteria to the contents of DataSource **** Name .
            DataUri - Sets the search criteria to the URI of data files used to create the DataSource . The URI can identify either a file or an Amazon Simple Storage Service (Amazon S3) bucket or directory.
            IAMUser - Sets the search criteria to the user account that invoked the DataSource creation.
            

    :type EQ: string
    :param EQ: The equal to operator. The DataSource results will have FilterVariable values that exactly match the value specified with EQ .

    :type GT: string
    :param GT: The greater than operator. The DataSource results will have FilterVariable values that are greater than the value specified with GT .

    :type LT: string
    :param LT: The less than operator. The DataSource results will have FilterVariable values that are less than the value specified with LT .

    :type GE: string
    :param GE: The greater than or equal to operator. The DataSource results will have FilterVariable values that are greater than or equal to the value specified with GE .

    :type LE: string
    :param LE: The less than or equal to operator. The DataSource results will have FilterVariable values that are less than or equal to the value specified with LE .

    :type NE: string
    :param NE: The not equal to operator. The DataSource results will have FilterVariable values not equal to the value specified with NE .

    :type Prefix: string
    :param Prefix: A string that is found at the beginning of a variable, such as Name or Id .
            For example, a DataSource could have the Name 2014-09-09-HolidayGiftMailer . To search for this DataSource , select Name for the FilterVariable and any of the following strings for the Prefix :
            2014-09
            2014-09-09
            2014-09-09-Holiday
            

    :type SortOrder: string
    :param SortOrder: A two-value parameter that determines the sequence of the resulting list of DataSource .
            asc - Arranges the list in ascending order (A-Z, 0-9).
            dsc - Arranges the list in descending order (Z-A, 9-0).
            Results are sorted by FilterVariable .
            

    :type NextToken: string
    :param NextToken: The ID of the page in the paginated results.

    :type Limit: integer
    :param Limit: The maximum number of DataSource to include in the result.

    :rtype: dict
    :return: {
        'Results': [
            {
                'DataSourceId': 'string',
                'DataLocationS3': 'string',
                'DataRearrangement': 'string',
                'CreatedByIamUser': 'string',
                'CreatedAt': datetime(2015, 1, 1),
                'LastUpdatedAt': datetime(2015, 1, 1),
                'DataSizeInBytes': 123,
                'NumberOfFiles': 123,
                'Name': 'string',
                'Status': 'PENDING'|'INPROGRESS'|'FAILED'|'COMPLETED'|'DELETED',
                'Message': 'string',
                'RedshiftMetadata': {
                    'RedshiftDatabase': {
                        'DatabaseName': 'string',
                        'ClusterIdentifier': 'string'
                    },
                    'DatabaseUserName': 'string',
                    'SelectSqlQuery': 'string'
                },
                'RDSMetadata': {
                    'Database': {
                        'InstanceIdentifier': 'string',
                        'DatabaseName': 'string'
                    },
                    'DatabaseUserName': 'string',
                    'SelectSqlQuery': 'string',
                    'ResourceRole': 'string',
                    'ServiceRole': 'string',
                    'DataPipelineId': 'string'
                },
                'RoleARN': 'string',
                'ComputeStatistics': True|False,
                'ComputeTime': 123,
                'FinishedAt': datetime(2015, 1, 1),
                'StartedAt': datetime(2015, 1, 1)
            },
        ],
        'NextToken': 'string'
    }
    
    
    :returns: 
    PENDING - Amazon Machine Learning (Amazon ML) submitted a request to create a DataSource .
    INPROGRESS - The creation process is underway.
    FAILED - The request to create a DataSource did not run to completion. It is not usable.
    COMPLETED - The creation process completed successfully.
    DELETED - The DataSource is marked as deleted. It is not usable.
    
    """
    pass
