amazonka-sqs-1.4.4: gen/Network/AWS/SQS/PurgeQueue.hs
{-# 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 <brendan.g.hay@gmail.com>
-- 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