{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE TypeFamilies #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} {-# OPTIONS_GHC -fno-warn-unused-binds #-} {-# OPTIONS_GHC -fno-warn-unused-matches #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.Lambda.DeleteFunction -- Copyright : (c) 2013-2015 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Deletes the specified Lambda function code and configuration. -- -- If you don\'t specify a function version, AWS Lambda will delete the -- function, including all its versions, and any aliases pointing to the -- function versions. -- -- When you delete a function the associated resource policy is also -- deleted. You will need to delete the event source mappings explicitly. -- -- For information about function versioning, see -- . -- -- This operation requires permission for the 'lambda:DeleteFunction' -- action. -- -- /See:/ for DeleteFunction. module Network.AWS.Lambda.DeleteFunction ( -- * Creating a Request deleteFunction , DeleteFunction -- * Request Lenses , dfQualifier , dfFunctionName -- * Destructuring the Response , deleteFunctionResponse , DeleteFunctionResponse ) where import Network.AWS.Lambda.Types import Network.AWS.Lambda.Types.Product import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response -- | /See:/ 'deleteFunction' smart constructor. data DeleteFunction = DeleteFunction' { _dfQualifier :: !(Maybe Text) , _dfFunctionName :: !Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DeleteFunction' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'dfQualifier' -- -- * 'dfFunctionName' deleteFunction :: Text -- ^ 'dfFunctionName' -> DeleteFunction deleteFunction pFunctionName_ = DeleteFunction' { _dfQualifier = Nothing , _dfFunctionName = pFunctionName_ } -- | Using this optional parameter you can specify a function version (but -- not the $LATEST version) to direct AWS Lambda to delete a specific -- function version. If the function version has one or more aliases -- pointing to it, you will get an error because you cannot have aliases -- pointing to it. You can delete any function version but not the $LATEST, -- that is, you cannot specify $LATEST as the value of this parameter. The -- $LATEST version can be deleted only when you want to delete all the -- function versions and aliases. -- -- You can only specify a function version and not alias name using this -- parameter. You cannot delete a function version using its alias. -- -- If you don\'t specify this parameter, AWS Lambda will delete the -- function, including all its versions and aliases. dfQualifier :: Lens' DeleteFunction (Maybe Text) dfQualifier = lens _dfQualifier (\ s a -> s{_dfQualifier = a}); -- | The Lambda function to delete. -- -- You can specify an unqualified function name (for example, -- \"Thumbnail\") or you can specify Amazon Resource Name (ARN) of the -- function (for example, -- \"arn:aws:lambda:us-west-2:account-id:function:ThumbNail\"). AWS Lambda -- also allows you to specify only the account ID qualifier (for example, -- \"account-id:Thumbnail\"). Note that the length constraint applies only -- to the ARN. If you specify only the function name, it is limited to 64 -- character in length. dfFunctionName :: Lens' DeleteFunction Text dfFunctionName = lens _dfFunctionName (\ s a -> s{_dfFunctionName = a}); instance AWSRequest DeleteFunction where type Rs DeleteFunction = DeleteFunctionResponse request = delete lambda response = receiveNull DeleteFunctionResponse' instance ToHeaders DeleteFunction where toHeaders = const mempty instance ToPath DeleteFunction where toPath DeleteFunction'{..} = mconcat ["/2015-03-31/functions/", toBS _dfFunctionName] instance ToQuery DeleteFunction where toQuery DeleteFunction'{..} = mconcat ["Qualifier" =: _dfQualifier] -- | /See:/ 'deleteFunctionResponse' smart constructor. data DeleteFunctionResponse = DeleteFunctionResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'DeleteFunctionResponse' with the minimum fields required to make a request. -- deleteFunctionResponse :: DeleteFunctionResponse deleteFunctionResponse = DeleteFunctionResponse'