def list_instance_fleets(ClusterId=None, Marker=None):
    """
    Lists all available details about the instance fleets in a cluster.
    See also: AWS API Documentation
    
    
    :example: response = client.list_instance_fleets(
        ClusterId='string',
        Marker='string'
    )
    
    
    :type ClusterId: string
    :param ClusterId: [REQUIRED]
            The unique identifier of the cluster.
            

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

    :rtype: dict
    :return: {
        'InstanceFleets': [
            {
                'Id': 'string',
                'Name': 'string',
                'Status': {
                    'State': 'PROVISIONING'|'BOOTSTRAPPING'|'RUNNING'|'RESIZING'|'SUSPENDED'|'TERMINATING'|'TERMINATED',
                    'StateChangeReason': {
                        'Code': 'INTERNAL_ERROR'|'VALIDATION_ERROR'|'INSTANCE_FAILURE'|'CLUSTER_TERMINATED',
                        'Message': 'string'
                    },
                    'Timeline': {
                        'CreationDateTime': datetime(2015, 1, 1),
                        'ReadyDateTime': datetime(2015, 1, 1),
                        'EndDateTime': datetime(2015, 1, 1)
                    }
                },
                'InstanceFleetType': 'MASTER'|'CORE'|'TASK',
                'TargetOnDemandCapacity': 123,
                'TargetSpotCapacity': 123,
                'ProvisionedOnDemandCapacity': 123,
                'ProvisionedSpotCapacity': 123,
                'InstanceTypeSpecifications': [
                    {
                        'InstanceType': 'string',
                        'WeightedCapacity': 123,
                        'BidPrice': 'string',
                        'BidPriceAsPercentageOfOnDemandPrice': 123.0,
                        'Configurations': [
                            {
                                'Classification': 'string',
                                'Configurations': {'... recursive ...'},
                                'Properties': {
                                    'string': 'string'
                                }
                            },
                        ],
                        'EbsBlockDevices': [
                            {
                                'VolumeSpecification': {
                                    'VolumeType': 'string',
                                    'Iops': 123,
                                    'SizeInGB': 123
                                },
                                'Device': 'string'
                            },
                        ],
                        'EbsOptimized': True|False
                    },
                ],
                'LaunchSpecifications': {
                    'SpotSpecification': {
                        'TimeoutDurationMinutes': 123,
                        'TimeoutAction': 'SWITCH_TO_ON_DEMAND'|'TERMINATE_CLUSTER',
                        'BlockDurationMinutes': 123
                    }
                }
            },
        ],
        'Marker': 'string'
    }
    
    
    :returns: 
    (string) --
    (string) --
    
    
    
    """
    pass
