def upload_batch_service_logs(<EOL>self, pool_id, node_id, upload_batch_service_logs_configuration, compute_node_upload_batch_service_logs_options=None, custom_headers=None, raw=False, **operation_config):
timeout = None<EOL>if compute_node_upload_batch_service_logs_options is not None:<EOL><INDENT>timeout = compute_node_upload_batch_service_logs_options.timeout<EOL><DEDENT>client_request_id = None<EOL>if compute_node_upload_batch_service_logs_options is not None:<EOL><INDENT>client_request_id = compute_node_upload_batch_service_logs_options.client_request_id<EOL><DEDENT>return_client_request_id = None<EOL>if compute_node_upload_batch_service_logs_options is not None:<EOL><INDENT>return_client_request_id = compute_node_upload_batch_service_logs_options.return_client_request_id<EOL><DEDENT>ocp_date = None<EOL>if compute_node_upload_batch_service_logs_options is not None:<EOL><INDENT>ocp_date = compute_node_upload_batch_service_logs_options.ocp_date<EOL><DEDENT>url = self.upload_batch_service_logs.metadata['<STR_LIT:url>']<EOL>path_format_arguments = {<EOL>'<STR_LIT>': self._serialize.url("<STR_LIT>", self.config.batch_url, '<STR_LIT:str>', skip_quote=True),<EOL>'<STR_LIT>': self._serialize.url("<STR_LIT>", pool_id, '<STR_LIT:str>'),<EOL>'<STR_LIT>': self._serialize.url("<STR_LIT>", node_id, '<STR_LIT:str>')<EOL>}<EOL>url = self._client.format_url(url, **path_format_arguments)<EOL>query_parameters = {}<EOL>query_parameters['<STR_LIT>'] = self._serialize.query("<STR_LIT>", self.api_version, '<STR_LIT:str>')<EOL>if timeout is not None:<EOL><INDENT>query_parameters['<STR_LIT>'] = self._serialize.query("<STR_LIT>", timeout, '<STR_LIT:int>')<EOL><DEDENT>header_parameters = {}<EOL>header_parameters['<STR_LIT>'] = '<STR_LIT:application/json>'<EOL>header_parameters['<STR_LIT:Content-Type>'] = '<STR_LIT>'<EOL>if self.config.generate_client_request_id:<EOL><INDENT>header_parameters['<STR_LIT>'] = str(uuid.uuid1())<EOL><DEDENT>if custom_headers:<EOL><INDENT>header_parameters.update(custom_headers)<EOL><DEDENT>if self.config.accept_language is not None:<EOL><INDENT>header_parameters['<STR_LIT>'] = self._serialize.header("<STR_LIT>", self.config.accept_language, '<STR_LIT:str>')<EOL><DEDENT>if client_request_id is not None:<EOL><INDENT>header_parameters['<STR_LIT>'] = self._serialize.header("<STR_LIT>", client_request_id, '<STR_LIT:str>')<EOL><DEDENT>if return_client_request_id is not None:<EOL><INDENT>header_parameters['<STR_LIT>'] = self._serialize.header("<STR_LIT>", return_client_request_id, '<STR_LIT:bool>')<EOL><DEDENT>if ocp_date is not None:<EOL><INDENT>header_parameters['<STR_LIT>'] = self._serialize.header("<STR_LIT>", ocp_date, '<STR_LIT>')<EOL><DEDENT>body_content = self._serialize.body(upload_batch_service_logs_configuration, '<STR_LIT>')<EOL>request = self._client.post(url, query_parameters, header_parameters, body_content)<EOL>response = self._client.send(request, stream=False, **operation_config)<EOL>if response.status_code not in [<NUM_LIT:200>]:<EOL><INDENT>raise models.BatchErrorException(self._deserialize, response)<EOL><DEDENT>deserialized = None<EOL>header_dict = {}<EOL>if response.status_code == <NUM_LIT:200>:<EOL><INDENT>deserialized = self._deserialize('<STR_LIT>', response)<EOL>header_dict = {<EOL>'<STR_LIT>': '<STR_LIT:str>',<EOL>'<STR_LIT>': '<STR_LIT:str>',<EOL>}<EOL><DEDENT>if raw:<EOL><INDENT>client_raw_response = ClientRawResponse(deserialized, response)<EOL>client_raw_response.add_headers(header_dict)<EOL>return client_raw_response<EOL><DEDENT>return deserialized<EOL>
Upload Azure Batch service log files from the specified compute node to
        Azure Blob Storage.

        This is for gathering Azure Batch service log files in an automated
        fashion from nodes if you are experiencing an error and wish to
        escalate to Azure support. The Azure Batch service log files should be
        shared with Azure support to aid in debugging issues with the Batch
        service.

        :param pool_id: The ID of the pool that contains the compute node.
        :type pool_id: str
        :param node_id: The ID of the compute node from which you want to
         upload the Azure Batch service log files.
        :type node_id: str
        :param upload_batch_service_logs_configuration: The Azure Batch
         service log files upload configuration.
        :type upload_batch_service_logs_configuration:
         ~azure.batch.models.UploadBatchServiceLogsConfiguration
        :param compute_node_upload_batch_service_logs_options: Additional
         parameters for the operation
        :type compute_node_upload_batch_service_logs_options:
         ~azure.batch.models.ComputeNodeUploadBatchServiceLogsOptions
        :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>`.
        :return: UploadBatchServiceLogsResult or ClientRawResponse if raw=true
        :rtype: ~azure.batch.models.UploadBatchServiceLogsResult or
         ~msrest.pipeline.ClientRawResponse
        :raises:
         :class:`BatchErrorException<azure.batch.models.BatchErrorException>`