'Starts a Service Fabric cluster node.
Starts a Service Fabric cluster node that is already stopped.
:param node_name: The name of the node.
:type node_name: str
:param node_instance_id: The instance id of the node that is stopped.
If instance id is specified the node is started only if it matches
with the current instance of the stopped node. A default value of
"0" would match any instance id. The instance id can be obtained
using get node query.
:type node_instance_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: None
:rtype: :class:`ClientRawResponse<msrest.pipeline.ClientRawResponse>`
if raw=true
:raises:
:class:`FabricErrorException<azure.servicefabric.models.FabricErrorException>`'

def start_node(self, node_name, node_instance_id='0', timeout=60, custom_headers=None, raw=False, **operation_config):

    start_node_description = models.StartNodeDescription(node_instance_id=node_instance_id)
    api_version = '3.0'
    url = '/Nodes/{nodeName}/$/Start'
    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')
    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)
    body_content = self._serialize.body(start_node_description, 'StartNodeDescription')
    request = self._client.post(url, query_parameters)
    response = self._client.send(request, header_parameters, body_content, **operation_config)
    if (response.status_code not in [200]):
        raise models.FabricErrorException(self._deserialize, response)
    if raw:
        client_raw_response = ClientRawResponse(None, response)
        return client_raw_response
