def METHOD_NAME(
        self, device_name, name, resource_group_name, custom_headers=None, raw=False, **operation_config):
    """Gets an alert by name.
    :param device_name: The device name.
    :type device_name: str
    :param name: The alert name.
    :type name: str
    :param resource_group_name: The resource group name.
    :type resource_group_name: 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: Alert or ClientRawResponse if raw=true
    :rtype: ~azure.mgmt.edgegateway.models.Alert or
     ~msrest.pipeline.ClientRawResponse
    :raises: :class:`CloudError<msrestazure.azure_exceptions.CloudError>`
    """
    # Construct URL
    url = self.METHOD_NAME.metadata['url']
    path_format_arguments = {
        'deviceName': self._serialize.url("device_name", device_name, 'str'),
        'name': self._serialize.url("name", name, 'str'),
        'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'),
        'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str')
    }
    url = self._client.format_url(url, **path_format_arguments)
    # Construct parameters
    query_parameters = {}
    query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str')
    # Construct headers
    header_parameters = {}
    header_parameters['Accept'] = 'application/json'
    if self.config.generate_client_request_id:
        header_parameters['x-ms-client-request-id'] = str(uuid.uuid1())
    if custom_headers:
        header_parameters.update(custom_headers)
    if self.config.accept_language is not None:
        header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str')
    # Construct and send request
    request = self._client.METHOD_NAME(url, query_parameters, header_parameters)
    response = self._client.send(request, stream=False, **operation_config)
    if response.status_code not in [200]:
        exp = CloudError(response)
        exp.request_id = response.headers.METHOD_NAME('x-ms-request-id')
        raise exp
    deserialized = None
    if response.status_code == 200:
        deserialized = self._deserialize('Alert', response)
    if raw:
        client_raw_response = ClientRawResponse(deserialized, response)
        return client_raw_response
    return deserialized