'Gets the list of nodes in the Service Fabric cluster.
The Nodes endpoint returns information about the nodes in the Service
Fabric Cluster. The respons include the name, status, id, health,
uptime and other details about the node.
:param continuation_token: The continuation token parameter is used
to obtain next set of results. A continuation token with a non empty
value is included in the response of the API when the results from
the system do not fit in a single response. When this value is
passed to the next API call, the API returns next set of results. If
there are no further results then the continuation token does not
contain a value. The value of this parameter should not be URL
encoded.
:type continuation_token: str
:param node_status_filter: Allows filtering the nodes based on the
NodeStatus. Only the nodes that are matching the specified filter
value will be returned. The filter value can be one of the following.
- default - This filter value will match all of the nodes excepts
the ones with with status as Unknown or Removed.
- all - This filter value will match all of the nodes.
- up - This filter value will match nodes that are Up.
- down - This filter value will match nodes that are Down.
- enabling - This filter value will match nodes that are in the
process of being enabled with status as Enabling.
- disabling - This filter value will match nodes that are in the
process of being disabled with status as Disabling.
- disabled - This filter value will match nodes that are Disabled.
- unknown - This filter value will match nodes whose status is
Unknown. A node would be in Unknown state if Service Fabric does not
have authoritative information about that node. This can happen if
the system learns about a node at runtime.
- removed - This filter value will match nodes whose status is
Removed. These are the nodes that are removed from the cluster using
the RemoveNodeState API.
. Possible values include: \'default\', \'all\', \'up\', \'down\',
\'enabling\', \'disabling\', \'disabled\', \'unknown\', \'removed\'
:type node_status_filter: str
:param timeout: The server timeout for performing the operation in
seconds. This specifies the time duration that the client is willing
to wait for the requested operation to complete. The default value
for this parameter is 60 seconds.
:type timeout: long
:param dict custom_headers: headers that will be added to the request
:param bool raw: returns the direct response alongside the
deserialized response
:param operation_config: :ref:`Operation configuration
overrides<msrest:optionsforoperations>`.
:rtype: :class:`PagedNodeInfoList
<azure.servicefabric.models.PagedNodeInfoList>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`FabricErrorException<azure.servicefabric.models.FabricErrorException>`'

def get_node_info_list(self, continuation_token=None, node_status_filter='default', timeout=60, custom_headers=None, raw=False, **operation_config):

    api_version = '3.0'
    url = '/Nodes'
    query_parameters = {}
    query_parameters['api-version'] = self._serialize.query('api_version', api_version, 'str')
    if (continuation_token is not None):
        query_parameters['ContinuationToken'] = self._serialize.query('continuation_token', continuation_token, 'str', skip_quote=True)
    if (node_status_filter is not None):
        query_parameters['NodeStatusFilter'] = self._serialize.query('node_status_filter', node_status_filter, 'str')
    if (timeout is not None):
        query_parameters['timeout'] = self._serialize.query('timeout', timeout, 'long', maximum=4294967295, minimum=1)
    header_parameters = {}
    header_parameters['Content-Type'] = 'application/json;    charset=utf-8'
    if custom_headers:
        header_parameters.update(custom_headers)
    request = self._client.get(url, query_parameters)
    response = self._client.send(request, header_parameters, **operation_config)
    if (response.status_code not in [200]):
        raise models.FabricErrorException(self._deserialize, response)
    deserialized = None
    if (response.status_code == 200):
        deserialized = self._deserialize('PagedNodeInfoList', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized
