'Gets the progress of an operation started using StartNodeTransition.
Gets the progress of an operation started with StartNodeTransition
using the provided OperationId.
:param node_name: The name of the node.
:type node_name: str
:param operation_id: A GUID that identifies a call of this API.  This
is passed into the corresponding GetProgress API
:type operation_id: 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:`NodeTransitionProgress
<azure.servicefabric.models.NodeTransitionProgress>`
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`FabricErrorException<azure.servicefabric.models.FabricErrorException>`'

def get_node_transition_progress(self, node_name, operation_id, timeout=60, custom_headers=None, raw=False, **operation_config):

    api_version = '3.0'
    url = '/Faults/Nodes/{nodeName}/$/GetTransitionProgress'
    path_format_arguments = {'nodeName': self._serialize.url('node_name', node_name, 'str')}
    url = self._client.format_url(url, **path_format_arguments)
    query_parameters = {}
    query_parameters['api-version'] = self._serialize.query('api_version', api_version, 'str')
    query_parameters['OperationId'] = self._serialize.query('operation_id', operation_id, '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('NodeTransitionProgress', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized
