'Resolve a Service Fabric partition.
Resolve a Service Fabric service partition, to get the endpoints of
the service replicas.
: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 partition_key_type: Key type for the partition. This parameter
is required if the partition scheme for the service is Int64Range or
Named. The possible values are following.
- None (1) - Indicates that the the PartitionKeyValue parameter is
not specified. This is valid for the partitions with partitioning
scheme as Singleton. This is the default value. The value is 1.
- Int64Range (2) - Indicates that the the PartitionKeyValue parameter
is an int64 partition key. This is valid for the partitions with
partitioning scheme as Int64Range. The value is 2.
- Named (3) - Indicates that the the PartitionKeyValue parameter is a
name of the partition. This is valid for the partitions with
partitioning scheme as Named. The value is 3.
:type partition_key_type: int
:param partition_key_value: Partition key. This is required if the
partition scheme for the service is Int64Range or Named.
:type partition_key_value: str
:param previous_rsp_version: The value in the Version field of the
response that was received previously. This is required if the user
knows that the result that was got previously is stale.
:type previous_rsp_version: 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:`ResolvedServicePartition
<azure.servicefabric.models.ResolvedServicePartition>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`FabricErrorException<azure.servicefabric.models.FabricErrorException>`'

def resolve_service(self, service_id, partition_key_type=None, partition_key_value=None, previous_rsp_version=None, timeout=60, custom_headers=None, raw=False, **operation_config):

    api_version = '3.0'
    url = '/Services/{serviceId}/$/ResolvePartition'
    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 (partition_key_type is not None):
        query_parameters['PartitionKeyType'] = self._serialize.query('partition_key_type', partition_key_type, 'int')
    if (partition_key_value is not None):
        query_parameters['PartitionKeyValue'] = self._serialize.query('partition_key_value', partition_key_value, 'str', skip_quote=True)
    if (previous_rsp_version is not None):
        query_parameters['PreviousRspVersion'] = self._serialize.query('previous_rsp_version', previous_rsp_version, '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('ResolvedServicePartition', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized
