'Retrieve the :ref:`cluster state <es-guide-reference-api-admin-cluster-state>`.
:param filter_nodes: set to **true** to filter out the **nodes** part
of the response.
:param filter_routing_table: set to **true** to filter out the
**routing_table** part of the response.
:param filter_metadata: set to **true** to filter out the **metadata**
part of the response.
:param filter_blocks: set to **true** to filter out the **blocks**
part of the response.
:param filter_indices: when not filtering metadata, a comma separated
list of indices to include in the response.'

def state(self, filter_nodes=None, filter_routing_table=None, filter_metadata=None, filter_blocks=None, filter_indices=None):

    path = make_path('_cluster', 'state')
    parameters = {}
    if (filter_nodes is not None):
        parameters['filter_nodes'] = filter_nodes
    if (filter_routing_table is not None):
        parameters['filter_routing_table'] = filter_routing_table
    if (filter_metadata is not None):
        parameters['filter_metadata'] = filter_metadata
    if (filter_blocks is not None):
        parameters['filter_blocks'] = filter_blocks
    if (filter_blocks is not None):
        if isinstance(filter_indices, six.string_types):
            parameters['filter_indices'] = filter_indices
        else:
            parameters['filter_indices'] = ','.join(filter_indices)
    return self.conn._send_request('GET', path, params=parameters)
