'Gets the list of partitions of a Service Fabric service.
Gets the list of partitions of a Service Fabric service. The response
include the partition id, partitioning scheme information, keys
supported by the partition, status, health and other details about
the partition.
:param service_id: The identity of the service. This is typically the
full name of the service without the \'fabric:\' URI scheme.
:type service_id: str
: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 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:`PagedServicePartitionInfoList
<azure.servicefabric.models.PagedServicePartitionInfoList>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`FabricErrorException<azure.servicefabric.models.FabricErrorException>`'

def get_partition_info_list(self, service_id, continuation_token=None, timeout=60, custom_headers=None, raw=False, **operation_config):

    api_version = '3.0'
    url = '/Services/{serviceId}/$/GetPartitions'
    path_format_arguments = {'serviceId': self._serialize.url('service_id', service_id, 'str', skip_quote=True)}
    url = self._client.format_url(url, **path_format_arguments)
    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 (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('PagedServicePartitionInfoList', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized
