{-# 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.SQS.PurgeQueue -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Deletes the messages in a queue specified by the __queue URL__. -- -- When you use the 'PurgeQueue' API, the deleted messages in the queue cannot be retrieved. -- -- When you purge a queue, the message deletion process takes up to 60 seconds. All messages sent to the queue before calling 'PurgeQueue' will be deleted; messages sent to the queue while it is being purged may be deleted. While the queue is being purged, messages sent to the queue before 'PurgeQueue' was called may be received, but will be deleted within the next minute. module Network.AWS.SQS.PurgeQueue ( -- * Creating a Request purgeQueue , PurgeQueue -- * Request Lenses , pqQueueURL -- * Destructuring the Response , purgeQueueResponse , PurgeQueueResponse ) where import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response import Network.AWS.SQS.Types import Network.AWS.SQS.Types.Product -- | -- -- /See:/ 'purgeQueue' smart constructor. newtype PurgeQueue = PurgeQueue' { _pqQueueURL :: Text } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'PurgeQueue' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'pqQueueURL' purgeQueue :: Text -- ^ 'pqQueueURL' -> PurgeQueue purgeQueue pQueueURL_ = PurgeQueue' { _pqQueueURL = pQueueURL_ } -- | The queue URL of the queue to delete the messages from when using the 'PurgeQueue' API. -- -- Queue URLs are case-sensitive. pqQueueURL :: Lens' PurgeQueue Text pqQueueURL = lens _pqQueueURL (\ s a -> s{_pqQueueURL = a}); instance AWSRequest PurgeQueue where type Rs PurgeQueue = PurgeQueueResponse request = postQuery sqs response = receiveNull PurgeQueueResponse' instance Hashable PurgeQueue instance NFData PurgeQueue instance ToHeaders PurgeQueue where toHeaders = const mempty instance ToPath PurgeQueue where toPath = const "/" instance ToQuery PurgeQueue where toQuery PurgeQueue'{..} = mconcat ["Action" =: ("PurgeQueue" :: ByteString), "Version" =: ("2012-11-05" :: ByteString), "QueueUrl" =: _pqQueueURL] -- | /See:/ 'purgeQueueResponse' smart constructor. data PurgeQueueResponse = PurgeQueueResponse' deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'PurgeQueueResponse' with the minimum fields required to make a request. -- purgeQueueResponse :: PurgeQueueResponse purgeQueueResponse = PurgeQueueResponse' instance NFData PurgeQueueResponse