amazonka-cognito-sync-1.4.3: gen/Network/AWS/CognitoSync/DeleteDataset.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.CognitoSync.DeleteDataset
-- 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 specific dataset. The dataset will be deleted permanently, and the action can\'t be undone. Datasets that this dataset was merged with will no longer report the merge. Any subsequent operation on this dataset will result in a ResourceNotFoundException.
--
-- This API can be called with temporary user credentials provided by Cognito Identity or with developer credentials.
module Network.AWS.CognitoSync.DeleteDataset
(
-- * Creating a Request
deleteDataset
, DeleteDataset
-- * Request Lenses
, delIdentityPoolId
, delIdentityId
, delDatasetName
-- * Destructuring the Response
, deleteDatasetResponse
, DeleteDatasetResponse
-- * Response Lenses
, drsDataset
, drsResponseStatus
) where
import Network.AWS.CognitoSync.Types
import Network.AWS.CognitoSync.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | A request to delete the specific dataset.
--
-- /See:/ 'deleteDataset' smart constructor.
data DeleteDataset = DeleteDataset'
{ _delIdentityPoolId :: !Text
, _delIdentityId :: !Text
, _delDatasetName :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'DeleteDataset' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'delIdentityPoolId'
--
-- * 'delIdentityId'
--
-- * 'delDatasetName'
deleteDataset
:: Text -- ^ 'delIdentityPoolId'
-> Text -- ^ 'delIdentityId'
-> Text -- ^ 'delDatasetName'
-> DeleteDataset
deleteDataset pIdentityPoolId_ pIdentityId_ pDatasetName_ =
DeleteDataset'
{ _delIdentityPoolId = pIdentityPoolId_
, _delIdentityId = pIdentityId_
, _delDatasetName = pDatasetName_
}
-- | A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
delIdentityPoolId :: Lens' DeleteDataset Text
delIdentityPoolId = lens _delIdentityPoolId (\ s a -> s{_delIdentityPoolId = a});
-- | A name-spaced GUID (for example, us-east-1:23EC4050-6AEA-7089-A2DD-08002EXAMPLE) created by Amazon Cognito. GUID generation is unique within a region.
delIdentityId :: Lens' DeleteDataset Text
delIdentityId = lens _delIdentityId (\ s a -> s{_delIdentityId = a});
-- | A string of up to 128 characters. Allowed characters are a-z, A-Z, 0-9, \'_\' (underscore), \'-\' (dash), and \'.\' (dot).
delDatasetName :: Lens' DeleteDataset Text
delDatasetName = lens _delDatasetName (\ s a -> s{_delDatasetName = a});
instance AWSRequest DeleteDataset where
type Rs DeleteDataset = DeleteDatasetResponse
request = delete cognitoSync
response
= receiveJSON
(\ s h x ->
DeleteDatasetResponse' <$>
(x .?> "Dataset") <*> (pure (fromEnum s)))
instance Hashable DeleteDataset
instance NFData DeleteDataset
instance ToHeaders DeleteDataset where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath DeleteDataset where
toPath DeleteDataset'{..}
= mconcat
["/identitypools/", toBS _delIdentityPoolId,
"/identities/", toBS _delIdentityId, "/datasets/",
toBS _delDatasetName]
instance ToQuery DeleteDataset where
toQuery = const mempty
-- | Response to a successful DeleteDataset request.
--
-- /See:/ 'deleteDatasetResponse' smart constructor.
data DeleteDatasetResponse = DeleteDatasetResponse'
{ _drsDataset :: !(Maybe Dataset)
, _drsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'DeleteDatasetResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'drsDataset'
--
-- * 'drsResponseStatus'
deleteDatasetResponse
:: Int -- ^ 'drsResponseStatus'
-> DeleteDatasetResponse
deleteDatasetResponse pResponseStatus_ =
DeleteDatasetResponse'
{ _drsDataset = Nothing
, _drsResponseStatus = pResponseStatus_
}
-- | A collection of data for an identity pool. An identity pool can have multiple datasets. A dataset is per identity and can be general or associated with a particular entity in an application (like a saved game). Datasets are automatically created if they don\'t exist. Data is synced by dataset, and a dataset can hold up to 1MB of key-value pairs.
drsDataset :: Lens' DeleteDatasetResponse (Maybe Dataset)
drsDataset = lens _drsDataset (\ s a -> s{_drsDataset = a});
-- | The response status code.
drsResponseStatus :: Lens' DeleteDatasetResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
instance NFData DeleteDatasetResponse