:doc:`Lambda <../../lambda>` / Client / delete_function

***************
delete_function
***************



.. py:method:: Lambda.Client.delete_function(**kwargs)

  

  Deletes a Lambda function. To delete a specific function version, use the ``Qualifier`` parameter. Otherwise, all versions and aliases are deleted. This doesn't require the user to have explicit permissions for  DeleteAlias.

   

  .. note::

    

    A deleted Lambda function cannot be recovered. Ensure that you specify the correct function name and version before deleting.

    

   

  To delete Lambda event source mappings that invoke a function, use  DeleteEventSourceMapping. For Amazon Web Services services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/lambda-2015-03-31/DeleteFunction>`_  


  **Request Syntax**
  ::

    response = client.delete_function(
        FunctionName='string',
        Qualifier='string'
    )
    
  :type FunctionName: string
  :param FunctionName: **[REQUIRED]** 

    The name or ARN of the Lambda function or version.

     

    **Name formats**

     

    
    * **Function name** – ``my-function`` (name-only), ``my-function:1`` (with version).
     
    * **Function ARN** – ``arn:aws:lambda:us-west-2:123456789012:function:my-function``.
     
    * **Partial ARN** – ``123456789012:function:my-function``.
    

     

    You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length.

    

  
  :type Qualifier: string
  :param Qualifier: 

    Specify a version to delete. You can't delete a version that an alias references.

    

  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'StatusCode': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **StatusCode** *(integer) --* 

        The HTTP status code returned by the operation.

        
  
  **Exceptions**
  
  *   :py:class:`Lambda.Client.exceptions.InvalidParameterValueException`

  
  *   :py:class:`Lambda.Client.exceptions.ResourceConflictException`

  
  *   :py:class:`Lambda.Client.exceptions.ServiceException`

  
  *   :py:class:`Lambda.Client.exceptions.TooManyRequestsException`

  
  *   :py:class:`Lambda.Client.exceptions.ResourceNotFoundException`

  

  **Examples**

  The following example deletes version 1 of a Lambda function named my-function.
  ::

    response = client.delete_function(
        FunctionName='my-function',
        Qualifier='1',
    )
    
    print(response)

  
  Expected Output:
  ::

    {
        'ResponseMetadata': {
            '...': '...',
        },
    }

  