def METHOD_NAME(
        self, app_id, version_id, custom_headers=None, raw=False, **operation_config):
    """Sends a training request for a version of a specified LUIS app. This
    POST request initiates a request asynchronously. To determine whether
    the training request is successful, submit a GET request to get
    training status. Note: The application version is not fully trained
    unless all the models (intents and entities) are trained successfully
    or are up to date. To verify training success, get the training status
    at least once after training is complete.
    :param app_id: The application ID.
    :type app_id: str
    :param version_id: The version ID.
    :type version_id: str
    :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: EnqueueTrainingResponse or ClientRawResponse if raw=true
    :rtype:
     ~azure.cognitiveservices.language.luis.authoring.models.EnqueueTrainingResponse
     or ~msrest.pipeline.ClientRawResponse
    :raises:
     :class:`ErrorResponseException<azure.cognitiveservices.language.luis.authoring.models.ErrorResponseException>`
    """
    # Construct URL
    url = self.METHOD_NAME.metadata['url']
    path_format_arguments = {
        'Endpoint': self._serialize.url("self.config.endpoint", self.config.endpoint, 'str', skip_quote=True),
        'appId': self._serialize.url("app_id", app_id, 'str'),
        'versionId': self._serialize.url("version_id", version_id, 'str')
    }
    url = self._client.format_url(url, **path_format_arguments)
    # Construct parameters
    query_parameters = {}
    # Construct headers
    header_parameters = {}
    header_parameters['Accept'] = 'application/json'
    if custom_headers:
        header_parameters.update(custom_headers)
    # Construct and send request
    request = self._client.post(url, query_parameters, header_parameters)
    response = self._client.send(request, stream=False, **operation_config)
    if response.status_code not in [202]:
        raise models.ErrorResponseException(self._deserialize, response)
    deserialized = None
    if response.status_code == 202:
        deserialized = self._deserialize('EnqueueTrainingResponse', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized