def list_clusters(CreatedAfter=None, CreatedBefore=None, ClusterStates=None,
    Marker=None):
    """
    Provides the status of all clusters visible to this AWS account. Allows you to filter the list of clusters based on certain criteria; for example, filtering by cluster creation date and time or by status. This call returns a maximum of 50 clusters per call, but returns a marker to track the paging of the cluster list across multiple ListClusters calls.
    See also: AWS API Documentation
    
    
    :example: response = client.list_clusters(
        CreatedAfter=datetime(2015, 1, 1),
        CreatedBefore=datetime(2015, 1, 1),
        ClusterStates=[
            'STARTING'|'BOOTSTRAPPING'|'RUNNING'|'WAITING'|'TERMINATING'|'TERMINATED'|'TERMINATED_WITH_ERRORS',
        ],
        Marker='string'
    )
    
    
    :type CreatedAfter: datetime
    :param CreatedAfter: The creation date and time beginning value filter for listing clusters.

    :type CreatedBefore: datetime
    :param CreatedBefore: The creation date and time end value filter for listing clusters.

    :type ClusterStates: list
    :param ClusterStates: The cluster state filters to apply when listing clusters.
            (string) --
            

    :type Marker: string
    :param Marker: The pagination token that indicates the next set of results to retrieve.

    :rtype: dict
    :return: {
        'Clusters': [
            {
                'Id': 'string',
                'Name': 'string',
                'Status': {
                    'State': 'STARTING'|'BOOTSTRAPPING'|'RUNNING'|'WAITING'|'TERMINATING'|'TERMINATED'|'TERMINATED_WITH_ERRORS',
                    'StateChangeReason': {
                        'Code': 'INTERNAL_ERROR'|'VALIDATION_ERROR'|'INSTANCE_FAILURE'|'BOOTSTRAP_FAILURE'|'USER_REQUEST'|'STEP_FAILURE'|'ALL_STEPS_COMPLETED',
                        'Message': 'string'
                    },
                    'Timeline': {
                        'CreationDateTime': datetime(2015, 1, 1),
                        'ReadyDateTime': datetime(2015, 1, 1),
                        'EndDateTime': datetime(2015, 1, 1)
                    }
                },
                'NormalizedInstanceHours': 123
            },
        ],
        'Marker': 'string'
    }
    
    
    """
    pass
